新聞中心
Command.Prepare方法能夠提高數(shù)據(jù)源中重復(fù)的參數(shù)化命令的性能。Prepare指示數(shù)據(jù)源為多個(gè)調(diào)用優(yōu)化特定的命令。為了加大工作上的效率,必須確定下什么是ADO.NET參數(shù)調(diào)用。

明山網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)建站!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)公司等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營維護(hù)。創(chuàng)新互聯(lián)建站2013年開創(chuàng)至今到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)建站。
明確地指定大綱和元數(shù)據(jù)
在ADO.NET參數(shù)中當(dāng)用戶沒有指定元數(shù)據(jù)信息時(shí),有很多對象推導(dǎo)這些信息。例如:
DataAdapter.Fill方法,如果不存在的話,它在記錄集中建立表和列。 CommandBuilder,它為單個(gè)的SELECT語句生成數(shù)據(jù)適配器命令屬性。 CommandBuilder.DeriveParameters,它組合Command對象的Parameters集合。
但是每次使用這些特性時(shí)都會造成效率降低。我們推薦主要在設(shè)計(jì)時(shí)和ad-hoc應(yīng)用程序中使用這些特性。在可能的情況下,ADO.NET參數(shù)明確地指定大綱和元數(shù)據(jù),包括在數(shù)據(jù)集中定義表和列,定義數(shù)據(jù)適配器的Command屬性,定義Command的Parameter信息。
ExecuteScalar和ExecuteNonQuery
如果你希望返回單個(gè)值,例如Count(*)、 Sum(Price)、或者Avg(Quantity),你可以使用Command.ExecuteScalar。ExecuteScalar返回第一行第一列的值,返回結(jié)果集是數(shù)量值。ExecuteScalar通過一步完成不僅簡化了代碼而且提高了性能,而這些工作在使用DataReader時(shí)將需要兩個(gè)處理步驟。
當(dāng)使用不返回行的SQL語句時(shí),類似修改數(shù)據(jù)(例如插入、更新或者刪除)或者只返回輸出參數(shù)或值,使用ExecuteNonQuery。ADO.NET參數(shù)通過建立一個(gè)空DataReader刪除了任何必要的處理。 #t#
ADO.NET參數(shù)空值的檢測
如果數(shù)據(jù)庫的某張表的一個(gè)列允許空值,你不能使用某個(gè)與空值相等的參數(shù)來測試它。作為代替,需要編寫一個(gè)WHERE子句來檢測是否列和參數(shù)都是空值。下面的SQL語句返回LastName列與賦予@LastName的值相同的行,或者LastName 列和ADO.NET參數(shù)都為空的行:
- SELECT * FROM Customers
- WHERE ((LastName = @LastName) OR (LastName IS NULL AND @LastName IS NULL))
網(wǎng)站題目:編制ADO.NET參數(shù)調(diào)用介紹
當(dāng)前網(wǎng)址:http://www.dlmjj.cn/article/ccseejj.html


咨詢
建站咨詢
