我在c#中爲INSERT
寫入mdb文件的字符串,但在代碼中捕獲錯誤「insert in statment中的語法錯誤」。
我直接在Microsoft Access 2007
中測試字符串,查詢插入時沒有錯誤。插入到mdb中的語法錯誤
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', '', '');";
我認爲問題是「空」字符。 char不能爲空,但具有固定大小。嘗試使用空字符串或'\ 0'作爲空字符。 –
我使用''和NULL但沒有回答! – mrash
不要使用''或NULL。使用\「\」(即「」)或'\ 0',這是char值null,不是對象。 –