2011-09-30 72 views
0

的查询字符串我在查询数据库中的某些数据并插入数据。每当用户插入'我有一个问题,查询不regconize。无法识别包含'

我该如何摆脱?我应该使用:string.replace(''', '"')?或任何其他伎俩?

在此先感谢。

+2

使用存储过程,如果不能,请考虑防止SQL注入。 –

+4

你应该使用参数化查询。显示你现在的创建命令/ sql字符串的方式,我们会建议一些东西。这是SQL Server和C#吗? –

回答

2

除了什么Xavi López已发布(和你真的应该记住这一点),以在字符串中的单引号,你需要写两个单引号,例如:

myString := 'I''m writing an answer'; 

这表示字符串I'm writing an answer

4

您应该使用参数化查询。它是dangerous在查询中插入未经处理的用户输入,它是SQL-Injection攻击的开门。

这些都是形式

SELECT * FROM USERS where USER_ID = ? 

?的值与query.setString(1, userId)调用编程设置的查询,司机需要照顾正确逃避一切。这不是你想要肩负的负担。