我在TestComplete的循环中使用查询,每次循环完成时,变量都会使用新值更新。我想说明变量中撇号的可能性,所以我可以使用一个查询。例如:
i = 0;
while(i < companyCount)
{
result = CompanyAddress(company);
Log.Message(result);
i++;
}
&#39;公司地址&#39;是我存储在另一个脚本文件中的查询,&#39; company&#39;是传递的变量。
SELECT address FROM table WHERE name = '" + company + "';
我尝试了REPLACE(),但在第二次迭代时没有解决问题。
答案 0 :(得分:-1)
要在SQL字符串中转义撇号,请使用双撇号:
SET @name = "Dan''s example"
但最好的方法是参数化查询,这也会阻止SQL注入。
答案 1 :(得分:-2)
我错误地使用了我在初步解释中提到的REPLACE()方法。
我将带有单引号的变量发送到查询:
var test = "agwh'waf'2";
但是当我将它包含在查询中时,我使用了以下内容:
"select * from table where name = " + test.replace(/'/g, "\'\'");
在查询运行之前,我用变量中的两个单引号替换了单引号。