簡體   English   中英

SQL錯誤= -804(C#with firebird數據庫)

[英]SQL Error = -804 (C# with firebird database)

我試圖將四個文本框中的數據輸入到Firebird數據庫中。 每次我單擊執行以下代碼的按鈕時,我得到一個“ SQL Error = -804 Count of read-write columns does not equal count of values. ”我不確定這個錯誤意味着什么。 我的代碼是:

 private void button1_Click(object sender, EventArgs e)
        {
                string ConnectionString = "User ID=sysdba;Password=masterkey;" +
                "Database=localhost:G:\\nael.FDB; " +
                "DataSource=localhost;Charset=NONE;";

                FbConnection addDetailsConnection = new FbConnection(ConnectionString);
                addDetailsConnection.Open();

                FbTransaction addDetailsTransaction =
                              addDetailsConnection.BeginTransaction();

                string SQLCommandText = " INSERT into Invoice_Name Values" +
                                        "('" + textBox1.Text + "',' "
                                             + textBox2.Text + "',' "
                                             + int.Parse(textBox3.Text) + "',' "
                                             + textBox4.Text + "',' "
                                             + "')";

                FbCommand addDetailsCommand = new FbCommand(SQLCommandText,
                          addDetailsConnection, addDetailsTransaction);
                addDetailsCommand.ExecuteNonQuery();
                addDetailsTransaction.Commit();
                MessageBox.Show(" Details Added");
        }

我打賭你的一個TextBox.Text值中有一個逗號......否則:你是否檢查過你是否指定了正確數量的列?

基本上,SQL引擎抱怨你給它一個參數列表,並且它試圖將它們填入表Invoice_Name ,除了它有太多的值用於該表中的列數。 嘗試將SQLCommandText打印到輸出窗口( Debug.WriteLine(SQLCommandText) )並查看它是否是您期望的...

你也不應該這樣做...在這里查看這篇文章: 插入帶有SQL注入安全參數的數據庫?

暫無
暫無

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

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