SQL错误=-804(C#与firebird数据库)
我试图将四个文本框中的数据输入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;" +
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注入