在MS Access数据库中,插入查询以插入带有撇号的字符

时间:2010-03-09 10:26:10

标签: ms-access

在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(包括撇号)

3 个答案:

答案 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的转义字符。