每当我在数据库中插入数据时,它会在数据库中保存额外的行

时间:2017-08-18 08:02:51

标签: c# sql

layout and db

if (!(string.IsNullOrEmpty(b.ToString())))
{
    string connection = "server=127.0.0.1; database=accounts;user=root; password='';";
    MySqlConnection conn = new MySqlConnection(connection);
    conn.Open();
    string SQL = "INSERT INTO payment_voucher (voucher_no, paid_to, date, account_cr, account_dr, description, student_emp_id, amount, total ) values ('" + label8.Text.ToString() + "','" + textBox1.Text + "', '" + dateTimePicker1.Value + "','" + a + "','" + b + "', '" + richTextBox1.Text + "', '" + textBox3.Text + "', '" + textBox4.Text + "', '" + label11.Text.ToString() + "');";
    MySqlCommand command = new MySqlCommand(SQL, conn);
    command.ExecuteNonQuery();
    conn.Close();

}

我不知道为什么会这样。前端是C#。

1 个答案:

答案 0 :(得分:1)

该语句不会插入两行。

您可以在此处查看以下内容:

  • 检查该代码是否被调用两次
  • 检查是否还有其他类似的代码也被称为
  • 确保桌面上没有执行额外插入的触发器
  • 确保您没有一些奇怪的Try / Catch / Fail逻辑导致整个事情再次运行

最重要的是:

  • 运行SQL事件探查器跟踪以确切了解发送到数据库的内容

在Enterprise Manager中检查具有原始SELECT查询的表时查询表,并确保有一行。

除非被调用两次,否则上面的代码不会重复行。