程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> Visual Basic語言 >> VB綜合教程 >> DataGrid控件的使用二

DataGrid控件的使用二

編輯:VB綜合教程

  創建Northwind的OLEDB數據鏈接
  訪問數據的一個重要步驟是為想要訪問的每個數據庫都創建一個OLEDB數據源。下面的步驟為VisualBasic所提供的Nwind.mdb(Northwind)數據庫創建這樣一個對象。這個數據源被用於VisualBasic文檔所提供的一些示例過程。在一個計算機上只需要創建一次OLEDB數據源。
  
  要創建Northwind的OLEDB數據源
  1.打開WindowsExplorer或WindowsNTExplorer。
  2.打開您想要創建OLEDB數據源的目錄。在該示例中,打開ProgramFiles、MicrosoftVisualStudio和VB98。
  3.右鍵單擊Explorer的右邊窗格,然後單擊上下文菜單上的“新建”。從文件類型列表中單擊“Microsoft數據鏈接”。
  4.重命名新文件Northwind.MDL。
  5.右鍵單擊文件並單擊上下文菜單上的“屬性”,以顯示“Northwind.MDLProperties”對話框。
  6.單擊“連接”選項卡。
  7.單擊“提供方”框並選擇“MicrosoftJet3.51OLEDBProvider”。
  8.在DataSource框中輸入nwind.mdb文件的路徑。
  9.單擊“測試連接”,檢測連接。
  10.如果連接通過,單擊“確定”。
  注意也可以通過在“控制面板”中單擊“數據鏈接”圖標創建一個OLEDB數據源。在“管理數據鏈接文件”對話框中,單擊“新建”創建一個新的數據源。
  
  使用DataGrid和ADOData控件創建一個簡單的數據庫應用程序
  只使用一個DataGrid和一個ADOData控件,可以創建一個允許最終用戶閱讀和寫入記錄集的數據庫應用程序。
  
  要使用ADO數據控件來創建一個簡單的數據庫應用程序
  1.為Northwind數據庫創建一個OLEDB數據源。如果還沒有創建數據源,請按照“創建Northwind的OLEDBDataLink”中的步驟操作。
  2.在VisualBasic中創建一個新的標准的EXE工程。如果DataGrid控件不在“工具箱”中,則用右鍵單擊“工具箱”,然後使用“部件”對話框來添加控件。同時也載入ADO控件。
  3.在空窗體上各放置控件的一個實例。
  4.將ADO控件的ConnectionString屬性設置為Northwind的數據源。單擊並選定該ADOData控件,並按F4鍵出現“屬性”窗口。單擊“ConnectionString”,然後單擊OLEDBFile。單擊Northwind的數據源。
  5.設置ADO控件的RecordSource屬性。在“屬性”窗口中,單擊“記錄源”並輸入一條SQL語句來填充DataGrid
  控件。在本例中,輸入“Select*FromProducts”。
  6.將DataGrid控件的DataSource屬性設置為這個ADOData控件。單擊並選定該DataGrid控件。在其“屬性”窗口中,單擊“數據源”將出現一個包含所有數據控件的下拉列表——在本例中只有ADOData控件。單擊這個控件。
  7.按F5鍵運行這個工程。
  
  創建一個連接DataList控件的DataGridData
  Grid的通常用法是顯示數據庫的一個表所提供的“詳細內容”。例如,Northwind(Nwind.mdb)數據庫包括兩個表,一個名為"Suppliers",另一個名為"Products"。在本例中,我們使用DataList控件來顯示"Suppliers"表中的供應商的公司名稱。當用戶單擊任意一個公司名稱時,這個DataList控件將提供該公司的SupplierID。使用這個標識符,就可以構造一個查詢,在"Products"表中檢索具有相匹配的SupplierID的所有記錄。換句話說,當用戶單擊一個公司時(在DataList控件中),該公司生產的所有產品將出現在DataGrid控件中。
  要使用一個指定供應商的產品填充一個DataGrid控件
  1.確認在機器上已為Northwind數據庫建立了一個OLEDB數據源;如果還沒有創建這樣的一個數據源,請按照“創建Northwind的OLEDBData連接”的步驟操作。
  2.在VisualBasic中創建一個新的標准的EXE工程。
  如果DataGrid、DataList和ADOData控件不在“工具箱”中,則右鍵單擊“工具箱”,然後單擊“部件”。在“部件”對話框中雙擊“MicrosoftDataGridControl”、“MicrosoftDataListControls”以及“MicrosoftADOControl”。
  3.在一個空窗體中各放置一個DataGrid和DataList控件的實例。將DataList控件放置在該窗體的左上角,然後將DataGrid控件放在它的下面的某處。
  4.在窗體放置兩個ADOData控件實例。選擇第一個ADOData控件,並按F4鍵來顯示其“屬性頁”。將該控件的Name屬性設置為adoSuppliers。選擇第二個ADOData控件並將其Name屬性設置為adoProducts。將第一個控件直接放在DataList控件的下面,把第二個控件直接放在DataGrid控件的下面。
  5.將這兩個ADOData控件的ConnectionString屬性設置為Northwind的OLEDB數據源。選擇名為adoSuppliers的控件,然後將其ConnectionString屬性設置為Northwind的OLEDBdatasource(Northwind.mdl)。選擇名為adoProducts的控件,並重復該操作。
  6.設置這兩個ADOData控件的RecordSource屬性。選擇adoSuppliers並在其“屬性頁”上單擊“RecordSoure”。輸入Select*FromSuppliers。這個查詢將指示該ADOData控件返回Suppliers表中的所有記錄。選擇adoProducts,單擊“RecordSoure”,並輸入Select*FromProducts。這個查詢將返回在Products表中的所有記錄。
  7.將DataList控件的RowSource屬性設置為adoSuppliers。
   RowSource屬性決定由哪一個數據源為ListField屬性供應數據。
  8.將DataList控件的ListField屬性設置為CompanyName。
   ListField屬性被設置成名為Suppliers的表中的字段名稱。在運行時,DataList控件顯示在這個屬性中所指定的字段的值。在本例中,該屬性將顯示在Suppliers表中找到的一個公司名稱。
  9.將DataList控件的BoundColumn屬性設置為SupplierID。
   BoundColumn屬性被設為Suppliers表中的第二個字段。在本例中,這個屬性就被設為SupplierID字段。當單擊DataList控件時,BoundText屬性返回與在DataList控件中所顯示的公司相關聯的SupplierID字段的值。這個值將用於對Products表的查詢,該查詢為DataGrid控件提供數據。
  10.將DataGrid控件的DataSource屬性設置為adoProducts。
   DataSource屬性為該控件指定數據源。在本例中,該屬性被設置為名為adoProducts的ADOData控件,這將返回Products表中的所有記錄。
  11.在窗體的代碼模塊中,添加下述內容:
    PrivateSubDatalist1_Click()
    '聲明一個用來包含新查詢的字符串變量。這個新的
    '查詢使用DataList控件的BoundText屬性
    '來提供一個SupplierID值。新查詢查找所有
    '具有相同的SupplierID的產品。這個查詢被
    '指定給名為adoProducts的ADOData控件
    '的RecordSource屬性。在刷新控件後,DataGrid
    '將使用包含由同一個公司供應的所有產品的新
    '記錄集來更新。
  
    DimstrQueryAsString
    strQuery="Select*FROMProductsWHERESupplierID="&_
    Datalist1.BoundText
  
    WithadoProducts
    .RecordSource=strQuery
    .Refresh
    EndWith
  
    WithDataGrid1
    .ClearFields
    .ReBind
    EndWith
    EndSub
  12.運行該工程。
  單擊DataList控件中的任意公司名稱,將自動用該公司所供應的產品更新DataGrid控件。
  

->

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved