单击按钮插入 Access 数据库

问题描述 投票:0回答:2

我对 C# 编程还是新手,当我尝试在数据库中添加数据但在这一行命令之后出现错误时,任何人都可以帮助我解决此错误。ExecuteNonQuery();

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();
}
c# ms-access oledb
2个回答
1
投票

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) 条语句才会产生任何效果。


0
投票

string constr = @"Provider = Microsoft.Jet.OLEDB.4.0;数据源 = C:\Users\user\OneDrive\Рабочий стол\Драгоценные камни в Кыргызстане A\Database3.mdb"; string cmdstr = "插入 Огранки ([название огранки], [характеристики],[примерыкамней],[изображение] )values([@название огранки],@характерист ики,@примеры камней,@изображение)";

        OleDbConnection connect = new OleDbConnection(constr);
        OleDbCommand command = new OleDbCommand(cmdstr, connect);
        connect.Open();
        command.Parameters.AddWithValue("[@название огранки]", textBox1.Text);
        command.Parameters.AddWithValue("[@характеристики]", характеристикиTextBox.Text);
        command.Parameters.AddWithValue("[@примеры камней]", примеры_камнейTextBox.Text);
        command.Parameters.AddWithValue("[@изображение]", изображениеPictureBox.Text);
        command.ExecuteNonQuery();
        MessageBox.Show("Record saved successfully");

        connect.Close();

Я все еще новичок в программировании на C#, любой может помочь мне решить эту ошибку, возникающую, когда я аюсь добавить данные в базу данных, но ошибка появляется после этой команды строки。执行非查询();

© www.soinside.com 2019 - 2024. All rights reserved.