使用 C# 在访问中未提交的数据

本文关键字:提交 数据 访问 使用 | 更新日期: 2023-09-27 18:28:05

try {
    if (connection.con.State == ConnectionState.Closed) connection.con.Open();
    com = new OleDbCommand("insert into dealer values(@id,@a1,@a2,@a3,@a4,@a5,@a6)", connection.con);
    com.Parameters.AddWithValue("@a1", int.Parse(t1.Text));
    com.Parameters.AddWithValue("@a2", t2.Text);
    com.Parameters.AddWithValue("@a3", t3.Text);
    com.Parameters.AddWithValue("@a4", t4.Text);
    com.Parameters.AddWithValue("@a5", t5.Text);
    com.Parameters.AddWithValue("@a6", t6.Text);
    com.Parameters.AddWithValue("@a7", c1.Text);
    int i = com.ExecuteNonQuery();
    if (i > 0) {
        MessageBox.Show("dealer Registration Seccessfully !!");
    }
} catch (Exception ex) {
    MessageBox.Show(ex.ToString());
} finally {
    connection.con.Close();
}

插入数据库的数据会显示到数据库中,但在某些数据之后,它会自动删除

使用 C# 在访问中未提交的数据

显然你的代码中有错别字,如果表的 Id 不是自动递增的,只需更正参数名称:

try {
    if (connection.con.State == ConnectionState.Closed) connection.con.Open();
    com = new OleDbCommand("insert into dealer values(@id,@a1,@a2,@a3,@a4,@a5,@a6)", connection.con);
    com.Parameters.AddWithValue("@id", int.Parse(t1.Text)); // Change argument name to @id
    com.Parameters.AddWithValue("@a1", t2.Text);
    com.Parameters.AddWithValue("@a2", t3.Text);
    com.Parameters.AddWithValue("@a3", t4.Text);
    com.Parameters.AddWithValue("@a4", t5.Text);
    com.Parameters.AddWithValue("@a5", t6.Text);
    com.Parameters.AddWithValue("@a6", c1.Text);
    ...

如果表的 ID 是自动递增的,请不要在 INSERT 命令中设置其值。