溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

ADO.NET中怎么對(duì)SelectCommand進(jìn)行修改

發(fā)布時(shí)間:2021-07-22 14:57:29 來源:億速云 閱讀:120 作者:Leah 欄目:編程語言

本篇文章為大家展示了ADO.NET中怎么對(duì)SelectCommand進(jìn)行修改,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

ADO.NET經(jīng)過長時(shí)間的發(fā)展,很多用戶都很了解ADO.NET了,這里我發(fā)表一下個(gè)人理解,和大家討論討論。若要為 DataAdapter 自動(dòng)生成 SQL 語句,請(qǐng)先設(shè)置 DataAdapter 的 SelectCommand 屬性,然后創(chuàng)建 CommandBuilder 對(duì)象,并將該對(duì)象指定為 CommandBuilder 將自動(dòng)為其生成 SQL 語句的 DataAdapter 的參數(shù)。

' Assumes that connection is a valid SqlConnection object   ' inside of a Using block.  Dim adapter As SqlDataAdapter = New SqlDataAdapter( _    "SELECT * FROM dbo.Customers", connection)  Dim builder As SqlCommandBuilder = New SqlCommandBuilder(adapter)  builder.QuotePrefix = "[" builder.QuoteSuffix = "]"

ADO.NET SelectCommand修改

  • 談?wù)凙DO.NET數(shù)據(jù)庫連接池創(chuàng)建和分配

  • 關(guān)于ADO.NET對(duì)象DataTable基本用法講解

  • 圖文演示ADO.NET結(jié)構(gòu)

  • 淺析使用ADO.NET讀取數(shù)據(jù)

  • 剖析ADO.NET使用DataAdapter類

如果您在自動(dòng)生成 INSERT、UPDATE 或 DELETE 命令后修改 SelectCommand 的 CommandText,則可能會(huì)發(fā)生異常。 如果修改后的 SelectCommand.CommandText 包含的架構(gòu)信息與自動(dòng)生成 INSERT、UPDATE 或 DELETE 命令時(shí)使用的 SelectCommand.CommandText 不一致,則以后對(duì) DataAdapter.Update 方法的調(diào)用可能會(huì)試圖訪問 SelectCommand 所引用的當(dāng)前表中已不存在的列,并且將會(huì)引發(fā)異常??梢酝ㄟ^調(diào)用 CommandBuilder 的 RefreshSchema 方法來刷新由 CommandBuilder 用于自動(dòng)生成命令的架構(gòu)信息。如果您想知道自動(dòng)生成了哪個(gè)命令,可以使用 ADO.NET SelectCommand修改對(duì)象的 GetInsertCommand、GetUpdateCommand 和 GetDeleteCommand 方法并檢查關(guān)聯(lián)命令的 CommandText 屬性,以獲得對(duì)自動(dòng)生成命令的引用。

以下代碼示例向控制臺(tái)寫入已自動(dòng)生成的更新命令。

Console.WriteLine(builder.GetUpdateCommand().CommandText)

下面ADO.NET SelectCommand修改示例在 custDS 數(shù)據(jù)集中重新創(chuàng)建 Customers 表。然后調(diào)用 RefreshSchema 方法,使用此新列的信息來刷新自動(dòng)生成的命令。

' Assumes an open SqlConnection and SqlDataAdapter inside of a Using block.  adapter.SelectCommand.CommandText = _   "SELECT CustomerID, ContactName FROM dbo.Customers"  builder.RefreshSchema()   custDS.Tables.Remove(custDS.Tables("Customers"))  adapter.Fill(custDS, "Customers")

上述內(nèi)容就是ADO.NET中怎么對(duì)SelectCommand進(jìn)行修改,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI