国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

ADO.NET 數據集中瀏覽多個相關表 3

2019-11-18 19:11:50
字體:
來源:轉載
供稿:網友
顯示數據
  此應用程序使用組合框、列表框和 RTF 文本框來選擇和顯示數據。
  添加選擇和顯示數據的控件
  在 Solution Explorer(解決方案資源管理器)中,右鍵單擊 Form1(.cs 或 .vb,
取決于應用程序的語言),然后從快捷菜單中選擇 View Designer(視圖設計器)。
  在窗體的左半部,添加一個 ListBox 控件,并將其 Name 屬性設置為 lbOrders。
  在窗體的右半部,添加一個 RichTextBox 控件,并將其 Name 屬性設置為 rtbDetai
ls。
  在列表框的上方,添加一個 ComboBox 控件,并將其 Name 屬性設置為 cbCustomers

  保存項目。
  圖 1:建議的窗體控件布局
  現在,可以開始向應用程序添加功能了。
  設置顯示公司名稱的組合框
  選擇組合框 (cbCustomers) 并設置以下屬性: 屬性 設置
  DataSource DsNorthwind1
  DisplayMember Customers.CompanyName
  ValueMember Customers.CustomerID
  用數據填充表
  要用數據填充表,必須為應用程序添加代碼。
  在數據集 (dsNorthwind1) 中的客戶表和訂單表中填充數據
  雙擊窗體上的一塊空白區域,為 Form1_Load 事件創建事件處理程序。
  添加以下代碼:
  ' Visual Basic
  PRivate Sub Form1_Load(ByVal sender As System.Object, _
  ByVal e As System.EventArgs) Handles MyBase.Load
  ' 關閉數據集中的約束。
  DsNorthwind1.EnforceConstraints = False
  ' 用數據填充表。
  daOrders.Fill(DsNorthwind1)
  daCustomers.Fill(DsNorthwind1)
  ' 重新開啟約束。
  DsNorthwind1.EnforceConstraints = True
  End Sub
  // C#
  private void Form1_Load(object sender, System.EventArgs e)
  {
  // 關閉數據集中的約束。
  dsNorthwind1.EnforceConstraints = false;
  // 用數據填充表。
  daOrders.Fill(dsNorthwind1);
  daCustomers.Fill(dsNorthwind1);
  // 重新開啟約束。
  dsNorthwind1.EnforceConstraints = true;
  }
  保存項目。
  按 F5 鍵運行該應用程序。現在組合框中包含一個公司名稱列表。
  關閉窗體。
  在兩個表中瀏覽相關記錄
  這里簡要介紹一下如何在數據集中構成一對多關系的兩個表之間訪問數據。在選擇一
個數據行之后,可以通過調用 GetChildRows 或 GetParentRow 方法并向該數據行傳遞
適當的數據關系來返回其相關記錄。
  注意:GetChildRows 方法將以 DataRow 對象數組的形式返回數據,而 GetParentRo
w 方法只返回一個單個的數據行。
  要演示這一功能,需要給應用程序添加一些代碼,以返回組合框中選定客戶的所有訂
單(子行)。更改組合框中的選定客戶會引發 ComboBox.SelectedIndexChanged 事件,
列表框中將填充該選定客戶的每個訂單的訂單 ID。
  您可以根據組合框中選定的客戶,調用 GetChildRows 方法。訂單表中的所有相關記
錄都將分配給名為 draOrders 的數據行數組。
  注意:下一節將添加在列表框中顯示相關訂單列表的功能。為確認數組中確實包含相
關的記錄,數組的長度(即選定客戶的訂單總數)將顯示為窗體的標題。
  創建獲取選定客戶的訂單的事件處理程序
  在 Solution Explorer(解決方案資源管理器)中,右鍵單擊 Form1 并從快捷菜單中
選擇 View Designer(視圖設計器)。
  雙擊組合框為 SelectedIndexChanged 事件創建事件處理程序。
  添加以下代碼:
  ' Visual Basic
  Private Sub cbCustomers_SelectedIndexChanged _
  (ByVal sender As System.Object, ByVal e As System.EventArgs) _
  Handles cbCustomers.SelectedIndexChanged
  ' 聲明一個用來保存選定客戶的客戶 ID 的字符串。
  Dim SelectedCustomerID As String
  SelectedCustomerID = cbCustomers.SelectedValue.ToString()
  ' 聲明一個用來保存選定客戶的記錄的數據行。
  Dim drSelectedCustomer As DataRow
  drSelectedCustomer = _
  DsNorthwind1.Customers.FindByCustomerID _
  (SelectedCustomerID)
  ' 聲明一個用來保存相關記錄的數據行數組。
  Dim draOrders As DataRow()
  draOrders = drSelectedCustomer.GetChildRows("CustomersOrders")
  ' 在窗體標題中顯示數組的長度(訂單數)
  ' 和客戶 ID。
  Me.Text = draOrders.Length.ToString() & " 訂單所有者 " & _
  SelectedCustomerID
  End Sub
  // C#
  private void cbCustomers_SelectedIndexChanged
  (object sender, System.EventArgs e)
  {
  // 聲明一個用來保存選定客戶的客戶 ID 的字符串。
  String SelectedCustomerID;
  SelectedCustomerID = cbCustomers.SelectedValue.ToString();
  // 聲明一個用來保存選定客戶的記錄的數據行。
  DataRow drSelectedCustomer;
  drSelectedCustomer =
  dsNorthwind1.Customers.FindByCustomerID(SelectedCustomerID);
  // 聲明一個用來保存相關記錄的數據行數組。
  DataRow[] draOrders;
  draOrders = drSelectedCustomer.GetChildRows("CustomersOrders");
  // 在窗體標題中顯示數組的長度(訂單數)
  // 和客戶 ID。
  this.Text = draOrders.Length.ToString() +
  " 訂單所有者 " + SelectedCustomerID;
  }
  保存項目。
  運行應用程序。
  選擇另一個客戶,并檢查窗體標題。將顯示選定客戶的訂單總數及其客戶 ID。
  關閉窗體。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 潼南县| 遂川县| 楚雄市| 镇雄县| 龙川县| 靖西县| 射洪县| 永新县| 灵寿县| 东平县| 兴隆县| 安陆市| 万安县| 依兰县| 昭觉县| 介休市| 宁晋县| 太谷县| 从江县| 临桂县| 定陶县| 土默特右旗| 霸州市| 贺兰县| 怀化市| 右玉县| 铅山县| 肃北| 富阳市| 健康| 旌德县| 庐江县| 唐海县| 桂平市| 左云县| 澄城县| 宜宾县| 阜宁县| 湟源县| 衡水市| 永年县|