用c#中三层架构写如何防止数据重复插入数据库.....谢谢了!

用c#中三层架构写如何防止数据重复插入数据库.....谢谢了!,第1张

首先:你要做到数据库表的约束完整性,比如该设置主键的要设置
然后:在C#的数据访问层(DAL一种称谓)做数据 *** 作逻辑的处理,当你向数据库不管是Oracle还是SQL Server都会返回其规则性错误,比如oracle的报错信息ORA-00,在做数据插入时破获这种报错信息(当然是定向的比如你所说的重复插入),返回给页面,作出 *** 作错误提示(如该记录已添加,请核对!),至于捕获异常和返回到页面的方法,要看你自己的具体实现了,我这里只给出方向。希望回答对你有所帮助

您好:

只要在该列设置唯一约束即可。

alter table 表名 
add constraint 约束名 unique (列名)

可按照上面的语句来设置唯一约束。。。

 protected void submit_Click(object sender, EventArgs e)
    {
       string code;
       code = ConvertToString(thisTextBox1Text);
       SystemTextRegularExpressionsRegex regex = new SystemTextRegularExpressionsRegex(@"'", SystemTextRegularExpressionsRegexOptionsIgnoreCase);
       code = regexReplace(code, " "); 
       
        SqlConnection conn = new SqlConnection("Data Source=;Initial Catalog=CodeRead;uid=sa;pwd= ");
        connOpen();
        string sql = "select Count(1) from code where numble=('" + code + "')";
        SqlCommand cmd1 = new SqlCommand(sql, conn);
        int count = (int)cmd1ExecuteScalar();
        if (count > 1)
        
            ResponseWrite("数据重复!");
            
        
        else
        {
            SqlCommand cmd = new SqlCommand("insert into code(numble) values('" + code + "')", conn);
            
            cmdExecuteNonQuery();
            if (cmdExecuteNonQuery() > 0)
                ResponseWrite(code + "数据导入成功!");
            else
                ResponseWrite("数据导入错误!");
            
            connClose();
        }


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13389858.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-26
下一篇 2023-07-26

发表评论

登录后才能评论

评论列表(0条)

保存