第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

無法啟用約束。一個或多個行包含違反非空、唯一或外鍵約束的值。

無法啟用約束。一個或多個行包含違反非空、唯一或外鍵約束的值。

無法啟用約束。一個或多個行包含違反非空、唯一或外鍵約束的值。我創(chuàng)建了一個外部連接,并在informix數(shù)據(jù)庫,但我的代碼中有以下異常:DataTable dt = TeachingLoadDAL.GetCoursesWithEvalState(i, bat);無法啟用約束。一個或多個行包含違反非空、唯一或外鍵約束的值。我知道問題,但我不知道怎么解決。我所做的外部聯(lián)接的第二個表包含一個復(fù)合主鍵,在前面的外部聯(lián)接查詢中為null。編輯:    SELECT UNIQUE a.crs_e,  a.crs_e  || '/ ' || a.crst crs_name, b.period,            b.crscls, c.crsday, c.from_lect, c.to_lect,            c.to_lect - c.from_lect + 1 Subtraction, c.lect_kind, e.eval, e.batch_no,            e.crsnum, e.lect_code, e.prof_course     FROM rlm1course a, rfc14crsgrp b, ckj1table c, mnltablelectev d,          OUTER(cc1assiscrseval e)       WHERE a.crsnum = b.crsnum      AND b.crsnum = c.crsnum      AND b.crscls = c.crscls      AND b.batch_no = c.batch_no      AND c.serial_key = d.serial_key       AND c.crsnum = e.crsnum       AND c.batch_no = e.batch_no       AND d.lect_code= e.lect_code      AND d.lect_code = ....      AND b.batch_no = ....這個問題發(fā)生在表中。cc1assiscrseval..主鍵是(Batch_NO,crsnum,lect_code)。如何解決這個問題?編輯:根據(jù)@PaulStock建議:我照他說的做,我得到:?dt.GetError()[0]{System.Data.DataRow}HasError:true ItemArray:{Object[10]}RowError:“列‘val’不允許DBNull.Value”。所以我用e.eval到,NVL (e.eval,'') eval這解決了我的問題。非常感謝。
查看完整描述

3 回答

?
胡說叔叔

TA貢獻1804條經(jīng)驗 獲得超8個贊

此問題通常是由下列因素之一引起的

  • 未設(shè)置為AllowDBNull的列返回空值
  • 使用相同的主鍵返回重復(fù)行。
  • 數(shù)據(jù)庫和數(shù)據(jù)集之間列定義(例如char字段的大小)之間的不匹配

嘗試本機運行查詢,如果結(jié)果集不太大,請查看結(jié)果。如果您已經(jīng)消除了空值,那么我的猜測是主鍵列正在被復(fù)制。

或者,要查看確切的錯誤,您可以手動向生成的代碼添加一個try/catch塊,就像這樣,然后在引發(fā)異常時中斷:

然后在命令窗口內(nèi)調(diào)用GetErrors方法在表上獲取錯誤。
對于C#,命令如下? dataTable.GetErrors()
對于VB,命令是? dataTable.GetErrors

這將顯示所有錯誤的數(shù)據(jù)行。你可以看看RowError對于其中的每一個,都應(yīng)該告訴您無效的列以及問題。因此,要查看錯誤中的第一個datarow的錯誤,命令如下:
? dataTable.GetErrors(0).RowError
或者在C#中? dataTable.GetErrors()[0].RowError


查看完整回答
反對 回復(fù) 2019-07-22
?
郎朗坤

TA貢獻1921條經(jīng)驗 獲得超9個贊

可以禁用數(shù)據(jù)集上的約束。它將允許您識別不良數(shù)據(jù)并幫助解決問題。

G.

dataset.TableA.Clear();dataset.EnforceConstraints = false;dataAdapter1.daTableA.Fill(dataset, TableA");

填充方法對您來說可能略有不同。


查看完整回答
反對 回復(fù) 2019-07-22
?
躍然一笑

TA貢獻1826條經(jīng)驗 獲得超6個贊

這將在表中找到有錯誤的所有行,打印該行的主鍵和該行上發(fā)生的錯誤.

這是在C#中實現(xiàn)的,但是將其轉(zhuǎn)換為VB并不困難。

 foreach (DataRow dr in dataTable)
 {
   if (dr.HasErrors)
     {
        Debug.Write("Row ");
        foreach (DataColumn dc in dataTable.PKColumns)
          Debug.Write(dc.ColumnName + ": '" + dr.ItemArray[dc.Ordinal] + "', ");
        Debug.WriteLine(" has error: " + dr.RowError);
     }
  }

對不起,PKColumns是我在擴展DataTable時添加的,它告訴我構(gòu)成DataTable主鍵的所有列。如果您知道DataTable中的主鍵列,可以在這里循環(huán)它們。在我的例子中,由于我的所有數(shù)據(jù)都知道它們的PK Cols,所以我可以為所有表自動編寫這些錯誤的調(diào)試。

輸出如下:

Row FIRST_NAME: 'HOMER', LAST_NAME: 'SIMPSON', MIDDLE_NAME: 'J',  has error: Column 'HAIR_COLOR' does not allow DBNull.Value.



查看完整回答
反對 回復(fù) 2019-07-22
  • 3 回答
  • 0 關(guān)注
  • 989 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號