当向数据库中添加含有单引号的数据时会发生错误
insert into tmp(name,pass)values ('UNCLE TOM'S CABIN','123')
消息 102,级别 15,状态 1,第 5 行'S' 附近有语法错误。
消息 105,级别 15,状态 1,第 5 行字符串 ')' 后的引号不完整。
INSERT INTO info (value) VALUES('" + value + "')
解决方案:
利用两个单引号转义:
insert into tmp(name,pass)values ('UNCLE TOM''S CABIN','123')
C#
string str = "UNCLE TOM'S CABIN"; MessageBox.Show(str.Replace("'", "''")); Database.ExecuteADU("insert into tmp values('" + str.Replace("'", "''") + "','1')");
测试结果:
插入成功!