綠色資源(yuán)網:您身邊最(zuì)放心的安全下載站! 最新軟件|熱門排行|軟件分類|軟件專題|廠商大全

綠色資源(yuán)網

技術教程
您的位置:首頁(yè)數據庫類SQL Server → 數據庫級(jí)別判斷數據重複

數據庫級別判斷數據重複

我要(yào)評論 2012/08/14 12:02:07 來源:綠色(sè)資(zī)源網(wǎng) 編輯(jí):ynaad.com [ ] 評論:0 點擊:210次

建立表語句 在數據庫(kù) 添加一個表(biǎo)並對字段添加唯一約束。msdn上認為建唯一約束會自動創建相應的唯一(yī)索引。

1 USE AdventureWorks2012;
2 GO
3 CREATE TABLE Production.TransactionHistoryArchive4
4 (
5 TransactionID int NOT NULL,
6 CONSTRAINT AK_TransactionID UNIQUE(TransactionID)
7 );
8 GO

插入測試sql   

1 INSERT INTO [db].[dbo].[TransactionHistoryArchive4]
2 ([TransactionID])
3 VALUES
4 (1)
5 GO

這時候我寫(xiě)的測試(shì)語句 當我第一次執行時 顯示 (1 行受影響) 數據庫(kù)數據正常
第二次執行語句時就會報錯
1 消息 2627,級別 14,狀態(tài) 1,第 1 行
2 違反(fǎn)了 UNIQUE KEY 約(yuē)束(shù) 'AK_TransactionID'。不能在對象 'dbo.TransactionHistoryArchive4' 中插入重(chóng)複鍵。
3 語句已終止。

消息2627是我需要的信息。因為C#中提供了(le)SqlException來捕獲數據庫發生的異常。根據消息id就可以判斷出錯(cuò)誤類型 好久不寫ado代碼了

1 try
2 {
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 else
18 errmsg = "其他異常";
19
20
21 }
遇見了就不要錯過(guò)

作者 likunran

關(guān)鍵詞:數據庫(kù)

閱讀本文後您(nín)有什麽感想? 已有 人給出(chū)評價!

  • 0 歡迎喜歡
  • 0 白癡
  • 0 拜托
  • 0 哇
  • 0 加油
  • 0 鄙視
免费人欧美成又黄又爽的视频丨一本色道久久88综合日韩精品丨国产专区日韩精品欧美色丨午夜无遮挡男女啪啪视频丨国产欧美日韩综合精品一区二区丨亚洲精品无码不卡在线播HE丨亚洲精品国产精品国自产观看丨日韩国产高清av不卡