SQL错误=-804(C#与firebird数据库)

SQL错误=-804(C#与firebird数据库),c#,sql,database,firebird,C#,Sql,Database,Firebird,我试图将四个文本框中的数据输入Firebird数据库。每次单击执行以下代码的按钮时,我都会得到一个“SQL Error=-804读写列计数不等于值计数。” 我不确定这个错误是什么意思。我的密码是: private void button1_Click(object sender, EventArgs e) { string ConnectionString = "User ID=sysdba;Password=masterkey;" +

我试图将四个文本框中的数据输入Firebird数据库。每次单击执行以下代码的按钮时,我都会得到一个“
SQL Error=-804读写列计数不等于值计数。
” 我不确定这个错误是什么意思。我的密码是:

 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");
        }

我打赌你的
文本框中有一个。Text
值中有一个逗号。。。否则:是否检查了指定的列数是否正确

基本上,SQL引擎抱怨您给了它一个参数列表,它试图将这些参数填入表
Invoice\u Name
,只是该表中的列计数值太多。尝试将
SQLCommandText
打印到输出窗口(
Debug.WriteLine(SQLCommandText)
),看看这是否是您所期望的


你也不应该这样做。。。查看此处的帖子:

愚蠢的错误。两个额外的单引号添加了一个额外的参数。谢谢你的链接。很有帮助啊。我没发现。很抱歉还是。不要这样做-这会使您的应用程序容易受到sql注入攻击。我建议您始终指定要插入的列,并使用参数化查询来防止sql注入