我用SQL语句往数据库某字段(字符型)中插入字符串,但是当该字符串中带有单引号('')时,好像就会出错!表现为插入的字符串被从单引号处截断,然后SQL语句当然就出错拉!如下:
CString strSQL;
strSQL.Format("Insert into MyTable(Name) Values('%s')", "My Name is 'xy'");
...全文
75615打赏收藏
如何向数据库中插入带有单引号(')的字符串?在线等待
我用SQL语句往数据库某字段(字符型)中插入字符串,但是当该字符串中带有单引号('')时,好像就会出错!表现为插入的字符串被从单引号处截断,然后SQL语句当然就出错拉!如下: CString strSQL; strSQL.Format("Insert into MyTable(Name) Values('%s')", "My Name is 'xy'");
CString strSQL;
CString strRequest;
strRequest = "My Name is 'xy'";
strRequest.Replace("'", "''");
strSQL.Format("Insert into MyTable(Name) Values('%s')", strRequest);
遍历字符串,把一个'换成两个''就可以了。这是由于SQL Server所限定的。
select * from a where a='bbbbb' and b= 'cccccccc'
看到没,SQL语句中字符串都是用''标示的。如果a='bbbbbb'中得bbbbbbb是bbbb'bb哪肯定是有问题了
要避免这个问题,也只有找到所有bbbbb'bb中'得位置,然后换成bbbbb''bb就可以了