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

首頁 > 編程 > .NET > 正文

在 ADO.NET 數(shù)據(jù)集中瀏覽多個(gè)相關(guān)表(4)

2024-07-10 13:02:55
字體:
供稿:網(wǎng)友
顯示相關(guān)記錄
  現(xiàn)在您已經(jīng)有了選定客戶的相關(guān)記錄(存儲在數(shù)據(jù)行數(shù)組中),您可以顯示它們以便與用戶進(jìn)行交互。應(yīng)用程序?qū)⒅鹨辉L問 getchildrows 方法返回的數(shù)據(jù)行數(shù)組中的數(shù)據(jù),并將每個(gè)相關(guān)記錄的“訂單 id”作為單獨(dú)的項(xiàng)添加到列表框中。
  
  注意:雖然此示例將逐一訪問相關(guān)數(shù)據(jù)行數(shù)組中的數(shù)據(jù),但列表框可能已經(jīng)使用屬性窗口,通過 datasource 屬性、datamember 屬性和 valuemember 屬性被綁定到相關(guān)的記錄。
  在列表框中顯示相關(guān)記錄
  
  在 solution explorer(解決方案資源管理器)中,右鍵單擊 form1 并從快捷菜單中選擇 view code(查看代碼)。
  在前面步驟中創(chuàng)建的組合框的 selectedindexchanged 事件處理程序中,將以下代碼添加到處理程序中已有代碼之下:
  
  ' visual basic
  ' 當(dāng)更改選定客戶時(shí),清除訂單列表。
  lborders.items.clear()
  rtbdetails.text = ""
  ' 將每個(gè)相關(guān)訂單的訂單 id 添加到列表框中。
  dim drorder as datarow
  for each drorder in draorders
  lborders.items.add(drorder("orderid"))
  next
  
  // c#
  // 當(dāng)更改選定客戶時(shí),清除訂單列表。
  lborders.items.clear();
  rtbdetails.text = "";
  
  // 將每個(gè)相關(guān)訂單的訂單 id 添加到列表框中。
  foreach(datarow drorder in draorders)
  {
  lborders.items.add(drorder["orderid"]);
  }
  
  
  
  
  保存項(xiàng)目。
  運(yùn)行應(yīng)用程序。
  列表框中將顯示訂單列表。在組合框中選擇另一個(gè)客戶,訂單列表將被更新。
  
  關(guān)閉窗體。
  在三個(gè)或更多表中瀏覽相關(guān)記錄
  瀏覽三個(gè)或更多表與處理兩個(gè)表一樣簡單。要了解如何處理兩個(gè)以上的表,請將訂單明細(xì)表和產(chǎn)品表添加到 dsnorthwind 數(shù)據(jù)集中。在列表框中選定一個(gè)訂單后,該訂單的詳細(xì)信息即顯示在 rtf 文本框中。
  
  為了滿足約束規(guī)則,您需要?jiǎng)h除現(xiàn)有的數(shù)據(jù)關(guān)系,將來再重新創(chuàng)建。
  
  暫時(shí)刪除 dsnorthwind 數(shù)據(jù)集中的 datarelation
  
  在 solution explorer(解決方案資源管理器)中,雙擊 dsnorthwind.xsd 以在 xml designer(xml 設(shè)計(jì)器)中打開它。
  選擇現(xiàn)有的 customersorders 關(guān)系并將其刪除。
  保存項(xiàng)目。
  現(xiàn)在您需要將另外兩個(gè)表添加到現(xiàn)有數(shù)據(jù)集中,并創(chuàng)建新的 datarelation 對象以將所有表連在一起。
  
  將訂單明細(xì)表和產(chǎn)品表添加到 dsnorthwind 數(shù)據(jù)集中
  
  在 solution explorer(解決方案資源管理器)中,右鍵單擊 form1 并從快捷菜單中選擇 view designer(視圖設(shè)計(jì)器)。
  將“訂單明細(xì)”表從 server explorer(服務(wù)器資源管理器)中拖到窗體上。組件欄中將顯示一個(gè)新的數(shù)據(jù)適配器。
  選擇該新的數(shù)據(jù)適配器并將其 name 屬性設(shè)置為 daorderdetails。
  將“產(chǎn)品”表從 server explorer(服務(wù)器資源管理器)中拖到窗體上。組件欄中將顯示一個(gè)新的數(shù)據(jù)適配器。
  選擇該新的數(shù)據(jù)適配器并將其 name 屬性設(shè)置為 daproducts。
  新表只是被添加到了窗體上,因此每次添加額外的表時(shí),都必須重新生成數(shù)據(jù)集。
  
  重新生成 dsnorthwind 數(shù)據(jù)集
  
  從 data(數(shù)據(jù))菜單中,選擇 generate dataset(生成數(shù)據(jù)集)。
  提示:將光標(biāo)移到窗體上即可使用 data(數(shù)據(jù))菜單。
  單擊 existing(現(xiàn)有),然后選擇 dsnorthwind 數(shù)據(jù)集。
  選擇所有四個(gè)表(客戶表、訂單表、訂單明細(xì)表和產(chǎn)品表)。
  清除 add this dataset to the designer(將此數(shù)據(jù)集添加到設(shè)計(jì)器)復(fù)選框,然后單擊 ok(確定)。將生成帶有附加表的數(shù)據(jù)集。
  注意:如果出現(xiàn)一個(gè)對話框,其中說明“the file has been modified outside of the source editor. do you want to reload it?”(文件已在源編輯器之外被修改。是否要重新加載?),請單擊 yes(是)。
  請記住,生成數(shù)據(jù)集并不能自動(dòng)創(chuàng)建數(shù)據(jù)集中各表之間的關(guān)系。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 隆化县| 恭城| 内江市| 临泽县| 日喀则市| 吉木乃县| 湘阴县| 土默特左旗| 哈密市| 闽清县| 应城市| 定西市| 镇宁| 岐山县| 南部县| 临沂市| 建德市| 北碚区| 榕江县| 通州市| 高碑店市| 海林市| 闽清县| 两当县| 锡林浩特市| 沂南县| 南岸区| 大埔县| 白水县| 津市市| 蚌埠市| 鸡东县| 宁夏| 湾仔区| 永昌县| 邹平县| 石棉县| 梁河县| 南华县| 读书| 武川县|