添加刪除ADO.NET語(yǔ)句提示
ADO.NET語(yǔ)句指定對(duì)查詢進(jìn)行優(yōu)化,以便快速檢索第一個(gè) number_rows(非負(fù)整數(shù))。在第一個(gè) number_rows 返回后,查詢繼續(xù)進(jìn)行并生成完整的結(jié)果集,下面就進(jìn)行學(xué)習(xí)思考。
指定目標(biāo)表所允許的一個(gè)或多個(gè)表提示。需要有 WITH 關(guān)鍵字和圓括號(hào)。不允許有 READPAST、NOLOCK 和 READUNCOMMITTED。有關(guān)表提示的更多信息,請(qǐng)參見(jiàn) FROM。view_name是視圖名稱。在視圖的 FROM 子句中,view_name 引用的視圖必須可更新且正確引用一個(gè)基表。有關(guān)可更新視圖的更多信息,請(qǐng)參見(jiàn) ADO.NET語(yǔ)句。
說(shuō)明 如果表或視圖存在于另一個(gè)數(shù)據(jù)庫(kù)內(nèi)或有一個(gè)不同于當(dāng)前用戶的所有者,則使用格式為 server_name.database.[owner].object_name 的由四部分組成的合法名稱。有關(guān)更多信息,請(qǐng)參見(jiàn) ADO.NET語(yǔ)句語(yǔ)法規(guī)則。rowset_function_limited。#t#
OPENQUERY 或 OPENROWSET 函數(shù),視提供程序功能而定。有關(guān)提供程序所需功能的更多信息,請(qǐng)參見(jiàn) OLE DB 提供程序的 UPDATE 和 DELETE 語(yǔ)句要求。有關(guān)行集函數(shù)的更多信息,請(qǐng)參見(jiàn) OPENQUERY 和 OPENROWSET。FROM < table_source >
指定附加的 FROM 子句。這ADO.NET語(yǔ)句個(gè)對(duì) DELETE 的 Transact-SQL 擴(kuò)展使您得以從 <table_sources> 指定數(shù)據(jù),并從第一個(gè) FROM 子句內(nèi)的表中刪除相應(yīng)的行。這個(gè)擴(kuò)展指定聯(lián)接,可在 WHERE 子句中取代子查詢來(lái)標(biāo)識(shí)要?jiǎng)h除的行。table_name [[AS] table_alias ]
是為刪除操作提供標(biāo)準(zhǔn)值的表名。view_name [ [ AS ] table_alias ]是為刪除操作提供標(biāo)準(zhǔn)值的視圖名稱。帶 INSTEAD OF UPDATE 觸發(fā)器的視圖不能是含有 FROM 子句的 UPDATE 的目標(biāo)。
使用DataSet的另一個(gè)好處是它能被繼承用于建立強(qiáng)類型的DataSet。強(qiáng)類型DataSet的好處包括設(shè)計(jì)時(shí)的檢查和強(qiáng)類型DataSet 的Visual Studio .NET語(yǔ)句填充。當(dāng)你為DataSet固定了大綱或關(guān)系結(jié)構(gòu)時(shí),就能建立強(qiáng)類型DataSet,把行和列作為對(duì)象的屬性而不是項(xiàng)的集合。
例如,作為暴露顧客表的某一行的列名的代替,你可以暴露Customer對(duì)象的 Name屬性。強(qiáng)類型的DataSet衍生自DataSet類,因此不會(huì)犧牲DataSet的任何功能,也就是說(shuō),強(qiáng)類型的DataSet也可以是遠(yuǎn)程的,并作為數(shù)據(jù)綁定控件(例如DataGrid)的數(shù)據(jù)源提供。如果不知道大綱, ADO.NET語(yǔ)句也能通過(guò)使用通常的DataSet獲得好處,但是喪失了強(qiáng)類型DataSet的附加特性。
在強(qiáng)類型DataSet中處理空值 使用強(qiáng)類型DataSet時(shí),你能給DataSet 的XML大綱定義語(yǔ)言(XSD)作注解以確保強(qiáng)類型DataSet正確的處理空(Null)的引用??罩担╪ullValue)注釋使你能用String.Empty這個(gè)特定值代替DBNull、保持了空引用、或者產(chǎn)生一個(gè)異常?!?FONT>ADO.NET語(yǔ)句選擇其中的哪個(gè)依賴于應(yīng)用程序的內(nèi)容,默認(rèn)情況下遇到空引用將產(chǎn)生一個(gè)異常。