【发布时间】:2020-06-12 13:40:13
【问题描述】:
我在一个字符串中有一个 SQL 查询,我想用一个新值替换字符串的一部分。
我正在寻找的字符串中的部分是 a : 直到它命中 a 或 a )。它找到的部分需要用问号替换。
我已经为此工作了一段时间,但我似乎无法找到解决此问题的解决方案。
谁能进一步帮助我?
我想获得一部分的示例字符串:
"INSERT INTO ORDERS ( ORDER_ID, CUSTNO, COMPANY_NAME, ITEM, AMOUNT1, AMOUNT2) 
VALUES ( :WS_ORDER_ID, :WS_ORDER_CUSTNO, :WS_ORDER_COMPANY_NAME, :WS_ITEM, :WS_AMOUNT1, :WS_AMOUNT2)"
所以我希望字符串看起来像:
"INSERT INTO ORDERS ( ORDER_ID, CUSTNO, COMPANY_NAME, ITEM, AMOUNT1, AMOUNT2) 
VALUES ( ?, ?, ?, ?, ?, ?)"
我试图创造的东西:
public String Replace(String value, String firstValue, String lastValue, String replacementValue) {
int firstLocation = value.IndexOf(firstValue);
var lastLocation = value.IndexOf(lastValue);
if (value.Contains(firstValue)) {
String modifiedValue;
modifiedValue = value.IndexOf(Convert.ToChar(firstLocation), lastLocation.ToString());
String newValue = value.Replace(modifiedValue, replacementValue);
}
return newValue;
}
类似的东西,但我无法弄清楚。
然后我想要一个 foreach 循环,该循环采用此方法并用?替换每个 :WORD。
最好的问候
【问题讨论】:
-
所以你希望参数名称,如
:foo,替换为?,只要它们后跟逗号或右括号? -
您没有将其用作准备好的语句是否有原因?
:PARAM_NAME形式被广泛用作 SQL 准备语句中的占位符。