熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

C#高級編程:通過數據適配器進行更新[2]

2013-11-13 11:05:34  來源: .NET編程 
    ——此文章摘自《C#高級編程(第版)》定價元 特價元 購買

                               
                               
                                RegionID    // Defines the SOURCE column
                                DataRowVersionDefault
                                null));
    aCommandUpdatedRowSource = UpdateRowSourceOutputParameters;

    無論何時DataAdapter執行這個命令輸出參數都應映射回數據行的源在本例中是DataTable中的一行該標志說明了應更新什麼數據—— 存儲過程有一個輸出參數映射回DataRow它應用的列是RegionID這是在命令定義中定義的

    UpdateRowSource的值如表所示

 UpdateRowSource值  說    明  Both
 存儲過程可以返回輸出參數和一個完整的數據庫記錄這些數據源都用於更新源數據行  FirstReturnedRecord
 該命令返回一個記錄該記錄的內容應合並到最初的源DataRow中當給定的表有許多默認(或計算)列時使用這個值很有用因為在執行插入語句之後這些行需要與客戶機上的DataRow同步例如INSERT (列) INTO (表) WITH (主鍵碼)SELECT (列) FROM (表) WHERE (主鍵碼)返回的記錄應合並到源數據行上  None  刪除從該命令返回的所有數據  OutputParameters  命令的任何輸出參數都映射到DataRow的對應列上

表 

    更新現有的行

    更新DataTable中一個已經存在的行只需使用帶有一個列名或列號的DataRow索引器即可如下面的代碼所示
    r[RegionDescription]=North West England;
    r[] = North East England;
    這兩個語句是等價的(在本例中)
    Changed RegionID description
         Eastern                                    Unchanged
         Western                                   Unchanged
         Northern                                   Unchanged
         Southern                                  Unchanged
         North West England                  Modified

    在更新數據庫前被更新的行應把其狀態設置為Modified其值如上所示

    刪除一行

    刪除一行需要調用Delete()方法rDelete();

    被刪除的行把其行狀態設置為Deleted但不能從被刪除的DataRow中讀取列因為它們已經不再有效當調用適配器的Update()方法時所有被刪除的行都會使用DeleteCommand在本例中是執行RegionDelete存儲過程

[]  []  


From:http://tw.wingwit.com/Article/program/net/201311/15148.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.