-4
private void Save_Click(object sender, EventArgs e)
{
    if (idTextBox.Text != "" & nameTextBox.Text != "")
    {
        conn.Open();
        cmd.CommandText = "insert into item_details (id, Name, MFD, EXP, QTY, damaged, MP, CP) values ('" + idTextBox.Text + "','" + nameTextBox.Text + "','" + MFDTextBox.Text + "','" + EXPTextBox.Text + "','" + QTYTextBox.Text + "','" + damagedTextBox.Text + "','" + MPTextBox.Text + "','" + CPTextBox.Text + "')";
        cmd.ExecuteNonQuery();
        cmd.Clone();
        MessageBox.Show("record inserted");
        conn.Close();
    }
    Admin_welcome newChild = new Admin_welcome();
    newChild.MdiParent = MdiParent;
    newChild.Show();
    this.Hide();
}
4

1 回答 1

2

在这里我想说几句,

首先,您需要设置考虑记录重复的标准 - 即重复名称或重复名称以及 MFD、到期等。完成后,您首先必须使用匹配条件进行选择查询,如果您发现匹配记录,您将插入重复项,因此不应插入并显示错误。

其次,你的代码容易出现sql注入。我建议您使用存储过程和 sqlparameters 来确保代码是安全的。您还可以在存储过程本身中嵌入检查重复项的过程。

于 2012-10-08T02:47:15.480 回答