簡體   English   中英

System.ArgumentException: '找不到名為 Party_Name 的列

[英]System.ArgumentException: 'Cannot find column named Party_Name

即使該表存在於數據庫中,我也會收到未找到的錯誤。 我怎么解決這個問題?

 private void button6_Click_1(object sender, EventArgs e)
        {
            
            Aconnection.Open();
            int selectedRowIndex = dataGridView1.SelectedCells[0].RowIndex;
            DataGridViewRow selectedRow = dataGridView1.Rows[selectedRowIndex];
            string parti_Name = Convert.ToString(selectedRow.Cells["Parti_Name"].Value); //Parti = Party(in English)
            string oy_Oran = Convert.ToString(selectedRow.Cells["Oy_Oran"].Value);       //oy = Vote      / Oran = Rate (in English)

            OleDbCommand cmd = Aconnection.CreateCommand();
            cmd.CommandText = "INSERT INTO OY (Parti_Name, Oy_Oran) VALUES (?, ?, ?)";
            cmd.Parameters.AddWithValue("@Parti_Name", parti_Name);
            cmd.Parameters.AddWithValue("@Oy_Oran", oy_Oran);
            cmd.ExecuteNonQuery();

            Aconnection.Close();
        }

數據訪問錯誤

我嘗試了不同的方法,但仍然遇到相同的錯誤。

只要正確連接到訪問數據庫,就應該能夠執行參數化的 INSERT 語句。 沒有在 INSERT sql 語句中提到參數名稱。 更改您的 INSERT 語句以提及參數名稱而不僅僅是“?” 象征。

像這樣

cmd.CommandText = "INSERT INTO OY (Parti_Name, Oy_Oran) 
                     VALUES (@Parti_Name, @Oy_Oran)";

此外,您在 INSERT 語句中只有 2 個列名,因此無需傳遞 3 個“?” 符號。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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