插入到mdb中的语法错误

时间:2013-02-07 11:02:28

标签: c# sql visual-studio-2010 ms-access ms-access-2007

我在c#中将INSERT的字符串写入mdb文件,但在代码中捕获了“插入到statment中的语法错误”。 我直接在Microsoft Access 2007测试字符串,插入的查询没有错误。

string qu = "INSERT INTO Reports ( docid, biopsy, normal, section, subsection, title, items, [text] ) VALUES (21, False, False, 'Recommendation', 'a', 'Injection', 'a', 'a');";
OleDbCommand cmd = new OleDbCommand();
OleDbDataAdapter da = new OleDbDataAdapter();
DataSet ds = new DataSet();
OleDbConnection con = Model.getDataConnection();

cmd.Connection = con;
cmd.CommandText = qu;
con.Open();
try
{
    cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
    System.Windows.Forms.MessageBox.Show("data error!\n" + ex.Message);
    return false;
}

在不幸编辑之前显示正确包围的原始字符串。

string qu = "INSERT INTO Reports ( docid, biopsy, normal, [section], subsection, title, items, [text] ) VALUES (21, False, False, 'Recommendation', '', 'Injection', '', '');";

1 个答案:

答案 0 :(得分:0)

报告部分文字都是reserved words。将它们括在SQL语句的括号中。

INSERT INTO [Reports] (
    docid, biopsy, normal, [section], subsection, title, items, [text])
VALUES (
    21, False, False, 'Recommendation', 'a', 'Injection', 'a', 'a');