使用asp.net在数据库中插入数据时如何避免重复值?

时间:2019-05-08 10:51:44

标签: c# asp.net sql-server excel

我正在构建一个程序,用户在其中导入一个excel文件(通过asp.net C#),我想做的是在我的Web应用程序中插入一个,如果用户放置与已插入的数据相同的数据它显示一条消息,说明失败

代码如下:

public partial class Inserir : System.Web.UI.Page
    {
        SqlConnection con = new SqlConnection(@"Data Source=PEDRO-PC\SQLEXPRESS;Initial Catalog=costumizado;Integrated Security=True");
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void btn_Click(object sender, EventArgs e)
        {
            con.Open();
            SqlCommand cmd = con.CreateCommand();
            cmd.CommandType = CommandType.Text;
            cmd.CommandText = "INSERT INTO Dados values('"+TextBox1.Text+"','"+TextBox2.Text+"','"+TextBox3.Text+"','"+TextBox4.Text+"')";
            cmd.ExecuteNonQuery();

        }
    }
}
Mov. Date   Value Date   move description   Value in EUR
28/02/2001 - 20/04/2019 - Fh123iasdasd    - 20119  
28/02/2001 - 20/04/2019 - Fh123iasdasd12  - 20119 
28/02/2001 - 20/04/2019 - Fh123iasdasd    - 20119 <--- Dont want this line

我不希望“移动描述”列具有与其他列相同的名称

2 个答案:

答案 0 :(得分:0)

在数据库中的字段上设置唯一键。任何试图在另一个记录中添加重复项的尝试都将引发异常。

答案 1 :(得分:0)

在包含必须唯一的列的表上创建唯一索引。无论插入数据的方法如何,这都将禁止重复输入。

CREATE UNIQUE NONCLUSTERED INDEX [IX_TableName_ColumnName] ON [dbo].[TableName]
(
    [ColumnName] ASC
)