单击按钮时插入到 Access 数据库中
本文关键字:Access 数据库 插入 按钮 单击 | 更新日期: 2023-09-27 18:30:18
>我仍然是C#编程的新手,当我尝试在数据库中添加数据时,任何人都可以帮助我解决此错误,但错误出现在此行命令之后。执行非查询();
private void button1_Click(object sender, EventArgs e)
{
string constr = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:'Users'aberto'Documents'esimar_db.accdb;Persist Security Info=False;";
string cmdstr = "insert into employee(employee_name, location,connection,depanse,caisse)values(@employee_name,@location,@connection,@depanse,@caisse)";
OleDbConnection connect = new OleDbConnection(constr);
OleDbCommand command = new OleDbCommand(cmdstr, connect);
connect.Open();
command.Parameters.AddWithValue("@employee_name", textBox1.Text);
command.Parameters.AddWithValue("@location", comboBox1.Text);
command.Parameters.AddWithValue("@connection", textBox2.Text);
command.Parameters.AddWithValue("@depanse", textBox3.Text);
command.Parameters.AddWithValue("@printing", textBox4.Text);
command.Parameters.AddWithValue("@caisse", textBox5.Text);
command.ExecuteNonQuery();
MessageBox.Show( "Record saved successfully");
connect.Close();
}
CONNECTION
在Access SQL中是保留字,因此如果要将其用作列(或表)名称,则必须将其括在方括号中:
string cmdstr =
"insert into employee(employee_name, location, [connection], depanse, caisse) values (@employee_name, @location, @connection, @depanse, @caisse)";
另外,请注意,您的 CommandText 中只有五 (5) 个参数,但您有六 (6) 个Parameters.AddWithValue
语句。OleDb 忽略参数名称,只关注参数的声明顺序,因此只有这些语句的前五 (5) 个语句会产生任何影响。