[英]Getting “Syntax error (missing operator) in query expression” in C# trying to INSERT INTO .accdb
所以我有下面的代碼,點擊“button3”后,我應該將dataGridView的內容插入到我的數據庫中。 我收到錯誤:
“查詢表達式中的語法錯誤(缺少運算符)' ,單引號中我的第一列的第一個值,就好像它讀取數據一樣,但不知道如何處理它。當我點擊”確定“關閉該消息,彈出另一條消息,同一列的第二個值現在用單引號;依此類推,直到達到最后一個值,然后最后彈出一個錯誤框:
“INSERT INTO語句中的語法錯誤”
我計划在工作之后對代碼進行參數化; 所以不用擔心。 :-)
請幫忙!!!! 所有幫助表示贊賞。
private void button3_Click(object sender, EventArgs e)
{
string ConnString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Search\\Database.accdb"; //Persist Security Info=True";
for(int i=0; i< dataGridView1.Rows.Count;i++)
{
string StrQuery = "INSERT INTO script_Orders (" + "script, " + "cust_Name) VALUES (" + dataGridView1.Rows[i].Cells["Prescription"].Value + ", " + dataGridView1.Rows[i].Cells["Customer_Name"].Value + ");";
try
{
using (OleDbConnection conn = new OleDbConnection (ConnString))
{
using (OleDbCommand comm = new OleDbCommand(StrQuery, conn))
{
conn.Open();
comm.ExecuteNonQuery();
conn.Close();
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
嘗試這個
string StrQuery = String.Format("INSERT INTO script_Orders(script,cust_Name) VALUES ('{0}','{1}')", dataGridView1.Rows[i].Cells["Prescription"].Value, dataGridView1.Rows[i].Cells["Customer_Name"].Value);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.