单击按钮时插入到 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();
}

单击按钮时插入到 Access 数据库中

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) 个语句会产生任何影响。