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

描述ADO .NET命令影響數據源說明

開發 后端
到目前為止,對存儲過程討論得已經夠多了,是該看一下如何在ADO .NET命令中使用它了。在ADO .NET中調用存儲過程只與常規SQL語句稍微不同。

通過ADO .NET中瀏覽數據的方式并不是在ADO .NET命令中的方式,你仍需要創建鏈接,發送命令。在本文中,提到了表示直接SQL命令的類,你可以使用它們執行存儲過程。

你應當將存儲過程的名字指定為SqlCommand對象的命令文本。命令文本可以通過SqlCommand的構造函數或通過CommandText屬性指定。在下面的示例代碼中,存儲過程的名字是byroyalty。

為幫助SqlCommand辨認出將執行的命令是一個存儲過程,應當將CommandType屬性設置為特定的值。

  1. SqlCommand cmd = new SqlCommand("byroyalty", conn);  
  2. cmd.CommandType = CommandType.StoredProcedure;  
  3. SqlParameter par = new SqlParameter("@percentage", SqlDbType.Int);  
  4. par.Direction = ParameterDirection.Input;  
  5. par.Value = 15;  
  6. cmd.Parameters.Add(par);  
  7. SqlDataReader dr = cmd.ExecuteReader(); 

它是在CommandType枚舉值(即可以在ADO .NET命令中使用的所有可以得到的命令類型)中的一個值。存儲過程可能需要一個或多個參數才能運行。在這種情況下,你需要使用SqlParameter類定義參數。

參數具有@前綴名,并是與SQL Server兼容的類型。另外,它還要有一個方向:輸入,輸出還是兩種都有,當然它得是一個值。.NET 類型系統不同于SQL Server類型系統,你必須求助于SqlDbType枚舉列表得到正確的類型。例如,下面的片斷對.NET32位整型求值。

一條命令在過一定時間后就會超時。如果你知道要經過很長的操作,你就可能希望設置這種限制。象ADO中那樣,檢查的屬性是CommandTimeout,其默認值是30秒。與ADO不同,ADO .NET使你可通過CommandBehavior枚舉指定命令的期望行為。

這樣的值指定了對結果的描述,并指定查詢如何影響數據源。在β1版本中,可以為每個命令設置CommandBehavior屬性。從β2版開始,只能使用CommandBehavior枚舉值作為ExecuteReader的參數。

對于其它選項,你可以使用查詢命令限制獲得的關鍵字和結構信息。在這種情況下,命令執行時不會對選擇的行進行鎖定。這種行為是由KeyInfo標記設定的。作為可選項,可能只需得到列信息,而不通過加鎖影響數據庫的狀態。這個選項是SchemaOnly。

另一個選項,SingleResult,使你能夠指定只返回一個結果集,而不論命令可以得到多少個結果集。在這種情況下,命令只返回找到的***個結果集。第四個選項是CloseConnection,它強迫SqlDataReader對象與一個查詢命令聯結起來,以期望在Close方法的***一步自動關閉鏈接。#t#

先前提到過,在ADO .NET命令中不支持服務器指針。如果需要使用服務器指針,并且負擔不起在沒有它的情況下重建應用程序,唯一的辦法是通過ADO對象。要這樣做,需要導入ADODB類型庫,為不同的對象創建恰當的.NET封裝,然后與它們連接起來。然而,在這種情況下,你無法利用ADO .NET的優勢。

這樣做原因很簡單。服務器指針必須與數據庫服務器的底層行為相適應。當處于鏈接時,并不是所有的DBMS以同樣的方式工作。這樣不同特性的對數據庫不可知的實現已經證明是非常困難的。為了避免出現更進一步的問題,ADO .NET命令沒有為服務器指針暴露通用的類,從而從根本上消除了這種問題。

然而,用于SQL Server的管理提供者在將來的發行版中將支持服務器指針,其它類型的管理提供者也會發生同樣的事情。因此,ADO .NET對服務器指針支持的***回答是,它將提供支持,但是將通過其實現與底層工作方式非常匹配的類以一種嚴格的完全DBMS方式(提供支持)。

責任編輯:chenqingxiang 來源: 機械工業出版社
相關推薦

2009-12-29 14:36:55

ADO.NET 數據集

2009-12-23 09:55:23

ADO.NET數據源

2009-11-03 14:56:36

ADO.NET數據源

2009-12-24 16:09:42

ADO.NET數據源

2009-12-31 14:23:33

ADO.NET數據源

2009-08-13 11:17:34

什么是ADO.NET

2010-01-04 10:39:33

ADO.NET描述

2009-09-08 11:09:39

LINQ數據源

2009-11-12 11:29:42

ADO.NET連接數據

2010-01-04 13:16:31

ADO.NET命令

2009-12-31 10:00:32

ADO.NET數據庫

2009-12-21 14:04:48

ADO.NET參數

2009-12-29 14:24:40

使用ADO.NET

2009-12-30 15:11:35

ADO.NET數據

2009-12-18 17:01:21

ADO.NET數據

2009-12-28 15:05:56

ADO.NET 數據

2009-12-22 16:50:44

ADO.NET元素

2009-12-22 13:34:48

ADO.Net Tea

2009-12-22 09:43:20

ADO.NET對象

2009-12-22 13:49:40

ADO.net屬性
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: www.国产精| 日韩在线观看一区 | 婷婷不卡 | 欧美一级免费黄色片 | 男人天堂网址 | 国产美女h视频 | 国产欧美精品一区 | 国产精品不卡一区二区三区 | 中文字幕乱码一区二区三区 | 亚洲精品中文在线 | 精品一区二区三区四区五区 | 国产精品一区在线观看 | 国产高清在线精品 | 国产视频一区在线 | 国产一区二区在线播放 | 男女污污动态图 | 少妇久久久久 | 黄色欧美视频 | 日韩专区中文字幕 | 亚洲精品视频一区二区三区 | 欧美一级片在线看 | 国产视频精品视频 | 亚洲精品免费在线观看 | 国产精品久久久久久久久久免费 | 国产精品久久久99 | 免费1区2区3区 | 韩日精品一区 | 免费黄色a级毛片 | 99久久精品免费看国产免费软件 | 9191在线播放 | 国产黄视频在线播放 | 国产乱码精品一区二区三区中文 | 91久久国产综合久久91精品网站 | 在线一区二区国产 | 久久久久久亚洲精品不卡 | 国产精品久久久久久久7电影 | 天堂av在线影院 | 日韩欧美在线一区二区 | 免费三级网站 | 国产一级视频在线观看 | www.日本三级 |