成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

經典ADO.NET DataSet技巧總結

開發 后端
這里就ADO.NET DataSet方法技巧避免自動增量值沖突、檢查開放式并發沖突、多線程編程三個方面做出總結,大家仔細閱讀會從中得到不少的收獲。

ADO.NET是多種訪問數據庫技術中我最喜歡用的,下面我們就一些編寫 ADO.NET 代碼時的通用技巧介紹一下吧,希望大家能記住留著以后編程中使用。

避免自動增量值沖突

就像大多數數據源一樣,ADO.NET DataSet使您可標識那些添加新行時自動對其值進行遞增的列。在 DataSet 中使用自動增量的列時,如果自動增量的列來自數據源,可避免添加到 DataSet 的行和添加到數據源的行之間本地編號沖突。

#T#例如,考慮一個表,它的主鍵列 CustomerID 是自動增量的。兩個新的客戶信息行添加到表中,并接收到自動增量的 CustomerID 值 1 和 2。然后,只有第二個客戶行被傳遞給 DataAdapter 的方法 Update,新添加的行在數據源接收到一個自動增量的 CustomerID 值 1,與 DataSet 中的值 2 不匹配。當 DataAdapter 用返回值填充表中第二行時,就會出現約束沖突,因為***個客戶行已經使用了 CustomerID 值 1。

要避免這種情況,建議在使用數據源上自動增量的列以及 ADO.NET DataSet 上自動增量的列時,把 DataSet 中的列創建為 AutoIncrementStep 值等于 -1 并且 AutoIncrementSeed 值等于 0,另外,還要確保數據源生成的自動增量標識值從 1 開始,并且以正階值遞增。因此,DataSet 為自動增量值生成負數,與數據源生成的正自動增量值不沖突。另外一個選擇是使用 Guid 類型的列,而不是自動增量的列。生成 Guid 值的算法應該永遠不會使數據源中生成的 Guid 值與 DataSet 中生成的 Guid 值一樣。如果自動增量的列只是用作唯一值,而且沒有任何意義,就考慮使用 Guid 代替自動增量的列。它們是唯一的,并且避免了使用自動增量的列所必需的額外工作。

檢查開放式并發沖突

按照設計,由于 DataSet 是與數據源斷開的,所以,當多個客戶端在數據源上按照開放式并發模型更新數據時,需要確保應用程序避免沖突。在測試開放式并發沖突時有幾項技術。一項技術涉及在表中包含時間戳列。另外一項技術是,驗證一行中所有列的原始值是否仍然與通過在 SQL 語句中使用 WHERE 子句進行測試時在數據庫中找到的值相匹配。

多線程編程

ADO.NET 對性能、吞吐量和可伸縮性進行優化。因此,ADO.NET 對象不鎖定資源,并且必須只用于單線程。一個例外是ADO.NET DataSet,它對多個閱讀器是線程安全的。但是,在寫的時候需要把 DataSet 鎖定。僅在需要的時候才用 COM Interop 訪問 ADO

ADO.NET 的設計目的是成為許多應用程序的***解決方案。但是,有些應用程序需要只有使用 ADO 對象才有的功能,例如,ADO 多維 (ADOMD)。在這些情況下,應用程序可以用 COM Interop 訪問 ADO。注意使用 COM Interop 訪問具有 ADO 的數據會導致性能降低。在設計應用程序時,首先在實現用 COM Interop 訪問 ADO 的設計之前,先確定 ADO.NET 是否滿足設計需求。

責任編輯:田樹 來源: 博客
相關推薦

2009-10-29 10:44:18

ADO.NET Dat

2009-10-29 11:08:20

ADO.NET Dat

2009-11-04 11:40:38

ADO.NET Dat

2009-11-13 09:24:17

2009-11-03 17:25:59

ADO.NET編程技巧

2009-10-29 08:51:24

ADO.NET結構

2009-10-29 13:34:01

ADO.NET對象

2009-11-11 14:27:32

ADO.NET函數

2009-10-29 10:34:31

ADO.NET使用技巧

2009-12-22 16:35:11

ADO.NET控件

2009-12-21 13:19:34

ADO.NET組件

2009-12-22 09:50:23

ADO.NET學習

2009-12-21 15:58:19

ADO.NET集合

2010-05-24 09:49:47

ADO.NET

2009-12-21 13:59:03

ADO.NET特性

2009-12-28 15:46:22

ADO.NET操作

2009-12-29 14:55:31

ADO.NET Dat

2009-12-21 14:39:09

ADO.NET技巧

2009-12-25 16:26:03

ADO.NET控制

2009-11-12 12:39:16

ADO.NET Sta
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 99色视频| 日本久久久久久 | 久久久久国产精品一区二区 | 97精品久久| 国产专区在线 | 国产一区欧美 | 久久久夜 | 久久久久久久香蕉 | 亚洲视频中文字幕 | 欧美日韩一区二区在线观看 | 日韩免费一二三区 | 金莲网| 精品欧美乱码久久久久久 | 久久国产亚洲 | 精品一区二区久久久久久久网站 | 视频第一区 | 狠狠亚洲 | 成人福利网站 | 2018中文字幕第一页 | 欧美精品一区二区三区在线播放 | 国产精品美女久久久久久久网站 | 中文字幕1区 | 亚洲情侣视频 | 国际精品鲁一鲁一区二区小说 | 欧美成人精品二区三区99精品 | 在线一级片 | 精品国产乱码久久久久久影片 | 国产玖玖 | 无吗视频| 国产精品揄拍一区二区久久国内亚洲精 | 日日夜夜天天久久 | 日韩一区二区在线视频 | 欧美看片| 免费在线看a | 国产精品九九视频 | 国产精品www | 日本成人福利 | 自拍偷拍第一页 | 国产精品色 | 国产探花在线精品一区二区 | 一区在线播放 |