程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> 通過DataTable獲得表的主鍵

通過DataTable獲得表的主鍵

編輯:.NET實例教程
     很多情形下我們需要知道表的主鍵是什麼。在ADO.Net中提供了DataTable可以映射數據庫的表。於是便可以利用DataTable的屬性PrimaryKey,它是DataColumn[] 類型是一個數組。我們可以使用如下的代碼
  
   DataColumn[] cols;
   cols = Table.PrimaryKey;
   //注意不是cols是DataColumn數組,不是DataColumn變量。這樣做主要是為了處理聯合主鍵的問題。
   for(int i = 0; i < cols.Length; i++)
   {
   MessageBox.Show(cols[i].ColumnName);
   }
  
  按理這個問題就已經解決了,但是cols.Length卻是0。原來在默認的情況下填充DataTable時並沒有從數據庫中取的主鍵的信息。如何獲得主鍵呢?經過研究發現在填充Dataset的時候可以使用DataAdapter的MissingSchemaAction屬性幫助我們解決這個問題,於是有如下的代碼:
  
   //使用DataAdapter填充DataTable
   dataadapter.MissingSchemaAction = MissingSchemaAction.AddWithKey;
   dataadapter.Fill(Table);
  
   DataColumn[] cols;
   cols = Table.PrimaryKey;
   //注意不是cols是DataColumn數組,不是DataColumn變量。這樣做主要是為了處理聯合主鍵的問題。
   for(int i = 0; i < cols.Length; i++)
   {
   MessageBox.Show(cols[i].ColumnName);
   }
  
  這樣我們便可以如願以償了。MissingSchemaAction屬性是確定現有Dataset(或DataTable)架構與傳入數據不匹配時需要執行的操作。MissingSchemaAction.AddWithKey是枚舉值,它的作用是添加必需的列和主鍵信息以完成架構,利用它用戶可以在每個 DataTable上顯式設置主鍵約束。 
  
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved