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

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

通過DataTable獲得表的主鍵

2019-11-18 17:55:48
字體:
供稿:網(wǎng)友

很多情形下我們需要知道表的主鍵是什么。在ADO.Net中提供了DataTable可以映射數(shù)據(jù)庫的表。于是便可以利用DataTable的屬性PRimaryKey,它是DataColumn[] 類型是一個(gè)數(shù)組。我們可以使用如下的代碼

   DataColumn[] cols;
   cols = Table.PrimaryKey;
 //注意不是cols是DataColumn數(shù)組,不是DataColumn變量。這樣做主要是為了處理聯(lián)合主鍵的問題。
   for(int i = 0; i < cols.Length; i++)
   {
          MessageBox.Show(cols[i].ColumnName);
   }

按理這個(gè)問題就已經(jīng)解決了,但是cols.Length卻是0。原來在默認(rèn)的情況下填充DataTable時(shí)并沒有從數(shù)據(jù)庫中取的主鍵的信息。如何獲得主鍵呢?經(jīng)過研究發(fā)現(xiàn)在填充Dataset的時(shí)候可以使用DataAdapter的MissingSchemaAction屬性幫助我們解決這個(gè)問題,于是有如下的代碼:

    //使用DataAdapter填充DataTable
    dataadapter.MissingSchemaAction = MissingSchemaAction.AddWithKey;
    dataadapter.Fill(Table);

    DataColumn[] cols;
    cols = Table.PrimaryKey;
    //注意不是cols是DataColumn數(shù)組,不是DataColumn變量。這樣做主要是為了處理聯(lián)合主鍵的問題。
    for(int i = 0; i < cols.Length; i++)
    {
        MessageBox.Show(cols[i].ColumnName);
    }

這樣我們便可以如愿以償了。MissingSchemaAction屬性是確定現(xiàn)有Dataset(或DataTable)架構(gòu)與傳入數(shù)據(jù)不匹配時(shí)需要執(zhí)行的操作。MissingSchemaAction.AddWithKey是枚舉值,它的作用是添加必需的列和主鍵信息以完成架構(gòu),利用它用戶可以在每個(gè) DataTable上顯式設(shè)置主鍵約束。


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 朔州市| 正阳县| 仙桃市| 东源县| 建平县| 昌乐县| 辽阳县| 筠连县| 北海市| 海门市| 普安县| 东海县| 改则县| 邵武市| 沙坪坝区| 南宫市| 舒城县| 新沂市| 清水河县| 大关县| 高密市| 应用必备| 沙田区| 金秀| 吉安市| 泾阳县| 太仆寺旗| 久治县| 宣恩县| 寿光市| 平果县| 江门市| 资中县| 华宁县| 康定县| 锦州市| 三穗县| 西藏| 慈溪市| 云梦县| 临泽县|