在MS Access数据库中
插入查询以插入字符------> N'tetarnyl
我有一个插入查询
OleDbCommand cmd = new OleDbCommand("insert into checking values('" + _
dsGetData.Tables[0].Rows[i][0].ToString() + "','" + _
dsGetData.Tables[0].Rows[i][1].ToString()+ "')", con);
但它显示我错误...
查询表达式中的语法错误(缺少运算符)
任何想法???如何编写插入查询以插入N'tetarnyl(包括撇号)
答案 0 :(得分:2)
你必须通过写两次来逃避你的'。最简单的方法是
YourString.Replace("'", "''")
OleDbCommand cmd = new OleDbCommand("insert into checking values('" + dsGetData.Tables[0].Rows[i][0].ToString().Replace("'", "''") + "','" + dsGetData.Tables[0].Rows[i][1].ToString().Replace("'", "''") + "')", con);
答案 1 :(得分:0)
在MS Access中,撇号被加倍引用。
OleDbCommand cmd = new OleDbCommand("insert into checking values('"
+ dsGetData.Tables[0].Rows[i][0].ToString().Replace("'", "''") + "','"
+ dsGetData.Tables[0].Rows[i][1].ToString().Replace("'", "''")+ "')", con);
答案 2 :(得分:0)
你可以做dsGetData.Tables [0] .Rows [i] [0] .ToString()。替换(“'”,“''”),和Rows [i] [1]一样。
应该用2x单引号替换所有单引号,这是SQL的转义字符。