新聞中心
通過ADO .NET中瀏覽數(shù)據(jù)的方式并不是在ADO .NET命令中的方式,你仍需要創(chuàng)建鏈接,發(fā)送命令。在本文中,提到了表示直接SQL命令的類,你可以使用它們執(zhí)行存儲過程。

成都創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網綜合服務,包含不限于成都網站設計、網站建設、秦皇島網絡推廣、微信小程序、秦皇島網絡營銷、秦皇島企業(yè)策劃、秦皇島品牌公關、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們最大的嘉獎;成都創(chuàng)新互聯(lián)為所有大學生創(chuàng)業(yè)者提供秦皇島建站搭建服務,24小時服務熱線:18982081108,官方網址:www.cdcxhl.com
你應當將存儲過程的名字指定為SqlCommand對象的命令文本。命令文本可以通過SqlCommand的構造函數(shù)或通過CommandText屬性指定。在下面的示例代碼中,存儲過程的名字是byroyalty。
為幫助SqlCommand辨認出將執(zhí)行的命令是一個存儲過程,應當將CommandType屬性設置為特定的值。
- SqlCommand cmd = new SqlCommand("byroyalty", conn);
- cmd.CommandType = CommandType.StoredProcedure;
- SqlParameter par = new SqlParameter("@percentage", SqlDbType.Int);
- par.Direction = ParameterDirection.Input;
- par.Value = 15;
- cmd.Parameters.Add(par);
- SqlDataReader dr = cmd.ExecuteReader();
它是在CommandType枚舉值(即可以在ADO .NET命令中使用的所有可以得到的命令類型)中的一個值。存儲過程可能需要一個或多個參數(shù)才能運行。在這種情況下,你需要使用SqlParameter類定義參數(shù)。
參數(shù)具有@前綴名,并是與SQL Server兼容的類型。另外,它還要有一個方向:輸入,輸出還是兩種都有,當然它得是一個值。.NET 類型系統(tǒng)不同于SQL Server類型系統(tǒng),你必須求助于SqlDbType枚舉列表得到正確的類型。例如,下面的片斷對.NET32位整型求值。
一條命令在過一定時間后就會超時。如果你知道要經過很長的操作,你就可能希望設置這種限制。象ADO中那樣,檢查的屬性是CommandTimeout,其默認值是30秒。與ADO不同,ADO .NET使你可通過CommandBehavior枚舉指定命令的期望行為。
這樣的值指定了對結果的描述,并指定查詢如何影響數(shù)據(jù)源。在β1版本中,可以為每個命令設置CommandBehavior屬性。從β2版開始,只能使用CommandBehavior枚舉值作為ExecuteReader的參數(shù)。
對于其它選項,你可以使用查詢命令限制獲得的關鍵字和結構信息。在這種情況下,命令執(zhí)行時不會對選擇的行進行鎖定。這種行為是由KeyInfo標記設定的。作為可選項,可能只需得到列信息,而不通過加鎖影響數(shù)據(jù)庫的狀態(tài)。這個選項是SchemaOnly。
另一個選項,SingleResult,使你能夠指定只返回一個結果集,而不論命令可以得到多少個結果集。在這種情況下,命令只返回找到的***個結果集。第四個選項是CloseConnection,它強迫SqlDataReader對象與一個查詢命令聯(lián)結起來,以期望在Close方法的***一步自動關閉鏈接。#t#
先前提到過,在ADO .NET命令中不支持服務器指針。如果需要使用服務器指針,并且負擔不起在沒有它的情況下重建應用程序,唯一的辦法是通過ADO對象。要這樣做,需要導入ADODB類型庫,為不同的對象創(chuàng)建恰當?shù)?NET封裝,然后與它們連接起來。然而,在這種情況下,你無法利用ADO .NET的優(yōu)勢。
這樣做原因很簡單。服務器指針必須與數(shù)據(jù)庫服務器的底層行為相適應。當處于鏈接時,并不是所有的DBMS以同樣的方式工作。這樣不同特性的對數(shù)據(jù)庫不可知的實現(xiàn)已經證明是非常困難的。為了避免出現(xiàn)更進一步的問題,ADO .NET命令沒有為服務器指針暴露通用的類,從而從根本上消除了這種問題。
然而,用于SQL Server的管理提供者在將來的發(fā)行版中將支持服務器指針,其它類型的管理提供者也會發(fā)生同樣的事情。因此,ADO .NET對服務器指針支持的***回答是,它將提供支持,但是將通過其實現(xiàn)與底層工作方式非常匹配的類以一種嚴格的完全DBMS方式(提供支持)。
當前標題:描述ADO.NET命令影響數(shù)據(jù)源說明
瀏覽地址:http://m.fisionsoft.com.cn/article/dghhjge.html


咨詢
建站咨詢
