CString sql="";
m_ID="";//商品编码
m_Name="";//商品名称
假如用户输入了:“001”,“CPU'",既 m_ID="OO1",m_Name="CPU'"
在商品名称中输入了单引号,下面语句执行时出错,
sql.Format("insert into 商品 (商品编码,商品名称)values('%s','%s')"
,m_ID,m_Name,)
怎样解决单引号问题?我不想过滤掉单引号--因为这样数据就不完整了
m_ID="";//商品编码
m_Name="";//商品名称
假如用户输入了:“001”,“CPU'",既 m_ID="OO1",m_Name="CPU'"
在商品名称中输入了单引号,下面语句执行时出错,
sql.Format("insert into 商品 (商品编码,商品名称)values('%s','%s')"
,m_ID,m_Name,)
怎样解决单引号问题?我不想过滤掉单引号--因为这样数据就不完整了
2、操纵记录集对象: AddNew / Update
如果要用SQL语句的话,把单引号替换成2个单引号就可以了,比如原来是a'b'c,现在就得是a''b''c或者通过RecordSet的AddNew函数添加,直接给各个字段赋值,这样就不用替换单引号了
就是替换成两个单引号(不是双引号!!)
当然如果用addnew,putcollect,貌似不需要这样的转换,他会自动完成
cstring str;
str = "ab'cd";
str += " 'etc"
CString sql = "select * ....";
sql += str;