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

C#高級編程:用數據適配器來填充 DataSet

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

    前面討論數據行的一節簡要介紹了SqlDataAdapter類使用該類的代碼如下所示
    string select = SELECT ContactNameCompanyName FROM Customers;
    SqlConnection conn = new SqlConnection(source);
    SqlDataAdapter da = new SqlDataAdapter(select conn);
    DataSet ds = new DataSet();
    daFill(ds Customers);

    突出顯示的兩行代碼顯示了SqlDataAdapter類—— 其他數據適配器在功能上實際上與SqlDataAdapter是完全相同的

    數據適配器類都派生於同一個基類而不是一組接口其他數據庫類也是這樣繼承結構如下所示
    SystemDataCommonDataAdapter 
    SystemDataCommonDbDataAdapter 
    SystemDataOdbcOdbcDataAdapter 
    SystemDataOleDbOleDbDataAdapter 
    SystemDataOracleClientOracleDataAdapter 
    SystemDataSqlClientSqlDataAdapter

    為了把數據插入到DataSet中需要執行某種形式的命令以選擇該數據該命令可以是SQL SELECT語句一個存儲過程的調用或者是TableDirect命令(用於OleDb提供程序)上面的示例使用了SqlDataAdapter的一個構造函數把傳送過來的SQL SELECT子句轉換為一個SqlCommand在適配器上調用Fill方法時執行這個命令

    在本章前面的存儲過程示例中定義了INSERTUPDATE和DELETE命令但沒有給出一個SELECT過程本節介紹該過程並說明如何從SqlDataAdapter上調用存儲過程把數據填充到DataSet中
在數據適配器上使用存儲過程

    首先需要定義一個存儲過程 SELECT存儲過程如下所示
    CREATE PROCEDURE RegionSelect AS
      SET NOCOUNT OFF
      SELECT * FROM Region
    GO

    這個存儲過程可以直接輸入到SQL Server查詢分析器中或者可以運行這個示例所使用的StoredProcsql文件

    接著需要定義一個執行該存儲過程的SqlCommand這段代碼非常簡單並且大部分已經在前面執行命令的一節中介紹過了
    private static SqlCommand GenerateSelectCommand(SqlConnection conn )
    {
       SqlCommand  aCommand = new SqlCommand(RegionSelect conn);
       aCommandCommandType = CommandTypeStoredProcedure;
       aCommandUpdatedRowSource = UpdateRowSourceNone;
       return aCommand;
    }

    這個方法生成了一個SqlCommand該SqlCommand在執行時會調用RegionSelect過程最後是把這個命令和SqlDataAdapter類關聯起來調用Fill方法
    DataSet ds = new DataSet();
    // Create a data adapter to fill the DataSet
    SqlDataAdapter da = new SqlDataAdapter();
    // Set the data adapters select command
    daSelectCommand = GenerateSelectCommand (conn);
    daFill(ds Region);

    其中創建了一個新SqlDataAdapter把生成的SqlCommand賦給數據適配器的SelectCommand屬性然後調用執行存儲過程的Fill方法把返回的所有行插入到Region數據表中(在本例中它是由運行庫生成的)

    數據適配器不僅僅能通過執行命令來選擇數據保存對數據集的修改一節會介紹數據適配器的其他功能


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