C# 防止此Insert命令中的重复

C# 防止此Insert命令中的重复,c#,validation,compare,C#,Validation,Compare,我想在这里说几句话 首先,您需要设置考虑记录重复的条件-即重复名称或重复名称和MFD、到期日等。完成后,您首先必须使用匹配条件进行选择查询,如果找到匹配的记录,您将插入一个重复,因此不应插入它并显示错误 其次,您的代码易于sql注入。我建议您使用存储过程和sqlparameters来确保代码是安全的。您还可以将检查重复项的过程嵌入存储过程本身。试着问一个更直接的问题。你有什么问题?你是如何试图解决这个问题的?您需要帮助做什么具体的事情。例如,我的item_details表中有重复的项目-有人能建

我想在这里说几句话

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


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

试着问一个更直接的问题。你有什么问题?你是如何试图解决这个问题的?您需要帮助做什么具体的事情。例如,我的item_details表中有重复的项目-有人能建议我如何避免吗?.This idTextBox.Text!=&nameTextBox.Text!=应该是idTextBox.Text!=&nameTextBox.Text=
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();
}