簡體   English   中英

在C#中嘗試INSERT INTO .accdb獲取“查詢表達式中的語法錯誤(缺少運算符)”

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM