国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 射洪县| 阜南县| 浦县| 宁城县| 柞水县| 太保市| 铜梁县| 长海县| 揭阳市| 娱乐| 平遥县| 富裕县| 磴口县| 蓬安县| 万州区| 射洪县| 青田县| 吕梁市| 鹤庆县| 义乌市| 永吉县| 明溪县| 重庆市| 双鸭山市| 千阳县| 原平市| 砀山县| 松溪县| 靖宇县| 黎城县| 六安市| 运城市| 金堂县| 深圳市| 宁国市| 灵川县| 和田市| 阿瓦提县| 阜康市| 阜康市| 洛南县|