数据库级别判断数据重复

数据库级别判断数据重复

建立表语句 在数据库 添加一个表并对字段添加唯一约束。msdn上认为建唯一约束会自动创建相应的唯一索引。1 USE AdventureWorks2012;2 3 CREATE TABLE Production.TransactionHistoryArchive44 (5 TransactionID int NOT NULL, 6 CONSTRAINT AK_TransactionID UNIQUE(TransactionID) 7 ); 8 插入测试sql   1 INSERT INTO [db].[dbo].[TransactionHistoryArchive4]2 ([TransactionID])3 VALUES4 (1)5 这时候我写的测试语句 当我第一次执行显示 (1 行受影响) 数据库数据正常第二次执行语句时就会报错1 消息 2627,级别 14,状态 1,第 1 行2 违反了 UNIQUE KEY 约束 'AK_TransactionID'。不能在对象 'dbo.TransactionHistoryArchive4' 中插入重复键。3 语句已终止。 消息2627是我需要的信息。因为C#中提供了SqlException来捕获数据库发生的异常。根据消息id就可以判断出错误类型 好久不写ado代码了1 try2 {3 using (SqlConnection connection = new SqlConnection(connectionString))4 {5 SqlCommand command = new SqlCommand(queryString, connection);6 command.Connection.Open();7 command.ExecuteNonQuery();8 }9 10 }11 catch (SqlException sqlException)12 { 13 14 15 if (sqlException.Number == 2627)16 errmsg = "errmsg";17 else18 errmsg = "其他异常"; 19 20 21 }遇见了就不要错过作者 likunran

免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部