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

C#高級編程: 數據庫的綁定[1]

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

    要綁定數據的兩個控件是attendeeList 和 roomList為了做到這一點必須把這些控件的DataSource屬性設置為包含數據的表格代碼必須把數據加載到這些表格中在運行期間執行這個綁定這兩個控件都有DataTextField 和 DataValueField屬性指定要使用哪些列來分別顯示列表項目和設置value屬性在這兩種情況下可以在設計期間設置這些屬性只要DataSource屬性設置為在控件中填充列表項目就可以使用這兩個屬性

    在ASPNET代碼中刪除這些控件的現有項目則其聲明如下所示
               
                <asp:DropDownList ID=roomList Runat=server
                    Width=px DataTextField=Room
                    DataValueField=ID ></asp:DropDownList>
               
                <asp:ListBox ID=attendeeList Runat=server Width=px
                    SelectionMode=Multiple Rows=
                    DataTextField=Name DataValueField=ID /></asp:ListBox>
               

    下一個任務是創建數據庫連接這可以使用幾種方式如前面第章中所述我們采用手工編碼的方式使該任務簡單一些因為使用的是Access這個連接的提供者類型是Microsoft Jet OLE DB Provider所以在窗體上添加一個DataOleDbOleDbConnection對象oleDbConnection
       public class WebForm : SystemWebUIPage
       {
         
          protected SystemDataOleDbOleDbConnection oleDbConnection;

    提示對於SQL Server連接添加的是一個SqlClientSqlConnection對象

    然後需要把一些代碼添加到InitializeComponent()中設置oleDbConnection的Connection String屬性以便在代碼中使用
       private void InitializeComponent()
       {
          thisoleDbConnection = new SystemDataOleDbOleDbConnection();
         
          thisoleDbConnectionConnectionString = @Provider=MicrosoftJetOLEDB;Password=;User ID=Admin;Data Source=C:\\Inetpub\\wwwroot\\PCSWebApp\\PCSWebAppmdb;

    在Page_Load()事件處理程序中執行數據綁定以便在其他部分使用這些控件時完全填充控件無論是否在執行回送操作(即使列表控件通過viewstate保存它們的內容)都將從數據庫中讀取數據確保可以訪問需要的數據 但不需要在回送中執行數據綁定這似乎是在浪費時間但您可以練習把其他邏輯添加到代碼中優化這個行為下面主要討論如何進行工作而沒有考慮實際的細節

    所有的代碼都放在連接對象的Open() 和 Close()方法調用之間
          private void Page_Load(object sender SystemEventArgs e)
          {
             oleDbConnectionOpen();
             if (!thisIsPostBack)
             {
                calendarSelectedDate = SystemDateTimeNow;
             }
             oleDbConnectionClose();
          }

    下面說明為什麼日歷的日期設置放在回送檢查代碼中

    對於數據交換需要使用幾個對象來存儲數據可以在類級別上聲明這些對象以便在其他函數中訪問它們需要一個DataSet對象存儲數據庫信息三個OleDbOleDbDataAdapter對象執行數據集上的查詢一個DataTable對象存儲以後訪問的會議這些聲明如下所示

[]  []  


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