【发布时间】:2013-06-12 09:31:17
【问题描述】:
我正在尝试将来自四个文本框的数据输入到 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");
}
【问题讨论】:
-
我建议您始终指定要插入的列,并使用参数化查询来防止 SQL 注入