使用SQL Server 2000和VB6
表1
EmpName1
Raja
Rav'i
Ramu'i
Rajes'ih
表2
EmpName2
....
当我从table1.empname1插入table2.empname2时,它只插入raja,未插入剩余的行,显示错误'(单引号)
"Showing error as incorrect syntax near rav"
vb6代码。
INSERT INTO table2 (EmpName) VALUES('" & EmpName & "')
如何使用单引号插入名称。
需要查询和代码帮助。
答案 0 :(得分:2)
强烈建议使用参数化查询(请参阅例如this article),而不是将SQL查询构建为字符串。这可以保护您免受多种形式的SQL注入,并且通常也更快。
或者直接使用某种持久性框架,如果你有很多数据库交互。
您的查询将无效,因为在字符串SQL查询中,'必须转义(作为'')。顺便说一句,如果你想将一个表中的值插入到另一个表中,那么在执行SELECT,然后在循环中插入INSERT通常不是一个好主意,就像你一样。做一个
INSERT INTO table2 SELECT ... FROM table1
答案 1 :(得分:1)
你可以用
之类的东西来逃避单引号empName = replace(empName,“'”,“''”)
或参数化您的查询...