我有一個Access數據庫與表(DV1)有[ID時代碼原因]列。我只是想更新表格。我不斷收到INSERT INTO sytax錯誤。我看到的一切都很好。我已經嘗試了一切。 我打開數據庫,然後出現錯誤。有什麼想法嗎?使用INSERT INTO添加到Access數據庫?
private void WRTODB_Click(object sender, EventArgs e)
{
OleDbConnection machStopDB = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source="[email protected]"C:\Users\sgarner\Google Drive\Visual Studio 2012\Timer test\WRITE TO DB\WRITE TO DB\Machine_Stop.accdb");
machStopDB.Open();
string str = "INSERT INTO DV1(TIME,CODE,REASON)" +
"VALUES(('" + DateTime.Now + "'),('" + textBox1.Text + "'),('" + textBox2.Text + "'))";
OleDbCommand insertCmd = new OleDbCommand(str, machStopDB);
insertCmd.ExecuteNonQuery();
machStopDB.Close();
}
這只是一個我正在使用的測試程序。
嘗試使用參數http://msdn.microsoft.com/en-GB/library/system.data.oledb.oledbcommand。 parameters.aspx,使您的代碼更具可讀性 – Yahya 2013-03-20 16:17:08
@Yahya,也許更重要的是,不太容易受到SQL注入的影響 – GolfWolf 2013-03-20 16:18:04
我可能是錯的,但是爲什麼每個值都有括號?我認爲單引號應該夠了。 – Yahya 2013-03-20 16:18:07