簡體   English   中英

.net數據集主鍵 - 強制執行唯一性?

[英].net Dataset Primary-Keys - enforcing uniqueness?

我有一個帶有一些數據表的小數據集。 我從各種DB加載數據表,並有一個我讀取的配置文件,以確定我想在給定的數據表上強制執行的主鍵。 如果配置不包含正確的(非唯一的)主鍵,那么在將主鍵應用於數據表時如何捕獲此事件? 目前它似乎允許我應用主鍵,即使它不是唯一的....

       DataTable dtbl = ds.Tables[t.tblname];

       DataColumn[] pks = new DataColumn[t.Get_Key_Columns().Count];
       int i = 0;
        foreach(DataColumn c in dtbl.Columns)
        {
            if(t.Get_Key_Columns().Exists(delegate(App_Column ac) 
                  {return (ac.column_name == c.ColumnName);}))
            {
                pks[i] = c;
                i++;
            }
        }
        try
        {
            dtbl.PrimaryKey = pks; 
        } 
         catch etc.......

有人指出我錯過了什么? 謝謝

如何將它們添加為約束?

dt.Constraints.Add("PKC", Columns, true)

如果仍然允許重復,.HasErrors屬性是否提供任何指示?


從評論中編輯

最終適用於OP的是這種解決方法: 填充表格之前添加約束。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM