我在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', '', '');";
答案 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');