DataAdapter的update用法注意事项doc.doc

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
DataAdapter的update用法注意事项doc

更新是以資料列為單位逐一執行。 對於每個已插入、已修改和已刪除的資料列,Update 方法會判斷其已執行的變更類型 插入、更新或刪除 。 根據變更的類型而定,Insert、Update 或 Delete 命令樣板將會執行,以便將修改過的資料列散佈到資料來源。 當應用程式呼叫 Update 方法時,DataAdapter 會根據 DataSet 中設定的索引順序,檢查 RowState 屬性,並反覆的為每個資料列執行必要的 INSERT、UPDATE 或 DELETE 陳述式。 例如,Update 可能會因為 DataTable 中資料列的順序,而先執行 DELETE 陳述式,然後 INSERT 陳述式,最後 DELETE 陳述式。 應該注意的是,這些陳述式並不會當做一個批次程序來執行,而是每個資料列個別更新。 應用程式可以在必須控制陳述式類型順序 例如 INSERT 在 UPDATE 之前 的情況下,呼叫 GetChanges 方法。 如需詳細資訊,請參閱 以 DataAdapter 更新資料來源 ADO.NET 。 如果尚未指定 INSERT、UPDATE 或 DELETE 陳述式,則 Update 方法會產生例外狀況。 然而,如果您設定 .NET Framework 資料提供者的 SelectCommand 屬性,即可建立 SqlCommandBuilder 或 OleDbCommandBuilder 物件,自動產生單一資料表更新的 SQL 陳述式。 接著,CommandBuilder 會產生您尚未設定的其他任何 SQL 陳述式。 這個產生邏輯需要索引鍵資料行資訊以存在於 DataSet 中。 如需詳細資訊,請參閱 使用 CommandBuilders 產生命令 ADO.NET 。 Update 方法會在執行更新之前,從第一次對應所列的資料表中擷取資料列。 Update 會接著使用 UpdatedRowSource 屬性的值重新整理資料列。 其他的所有資料列會被忽略。 在任何資料載入回 DataSet 後,會引發 OnRowUpdated 事件,允許使用者檢查調整的 DataSet 資料列以及命令所傳回的任何輸出參數。 更新資料列成功後,對該資料列的變更將被接受。 在下列程式碼中,使用衍生類別 OleDbDataAdapter,對資料來源進行 Update。 static private DataSet CreateCommandAndUpdate string connectionString, string queryString DataSet dataSet new DataSet ; using OleDbConnection connection new OleDbConnection connectionString connection.Open ; OleDbDataAdapter adapter new OleDbDataAdapter ; adapter.SelectCommand new OleDbCommand queryString, connection ; OleDbCommandBuilder builder new OleDbCommandBuilder adapter ; adapter.Fill dataSet ; // Code to modify data in the DataSet here. // Without the OleDbCommandBuilder, this line would fail. adapter.UpdateCommand builder.GetUpdateCommand ; adapter.Update dataSet ; return dataSet; 下列範例示範如何明確設定 DataAdapter 的 UpdateCommand 並呼叫其 Update 方法,藉以更新已修改的資料列。 請注意,在 UPDATE 陳述式之 WHERE 子句中指定的參數是設定為使用 SourceColumn 的 Original 值。 這一點相當重要,因為 Current 值可能已經修改,而不符合資料來源中的值。 Original 值是用來填入資料來源之 DataTable 的值。 private static void AdapterUpdate string connectionString using SqlConnection connection new SqlConnection connectionString SqlDataAdapter dataAdpater new SqlDataAdapter "SELEC

文档评论(0)

tiangou + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档