首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >无法启用约束。一个或多个行包含违反非null、unique或外键约束的值

无法启用约束。一个或多个行包含违反非null、unique或外键约束的值
EN

Stack Overflow用户
提问于 2011-08-11 21:18:32
回答 24查看 240.8K关注 0票数 178

我执行了一个外部连接,并在informix数据库中成功执行,但我的代码中出现了以下异常:

代码语言:javascript
复制
DataTable dt = TeachingLoadDAL.GetCoursesWithEvalState(i, bat);

无法启用约束。一个或多个行包含违反非null、unique或外键约束的值。

我知道问题所在,但我不知道如何解决它。

我进行外部连接的第二个表包含一个复合主键,它们在前面的外部连接查询中为null。

编辑:

代码语言:javascript
复制
    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 = ....

问题发生在表cc1assiscrseval上。主键是(batch_no,crsnum,lect_code)。

如何解决这个问题?

编辑:

根据@PaulStock的建议:我按照他说的做,我会得到:

?dt.GetErrors() {System.Data.DataRow} HasErrors: true ItemArray:{object10} RowError:“列'eval‘不允许DBNull.Value。”

所以我把e.eval替换成,NVL (e.eval,'') eval,.and,这解决了我的问题。非常感谢。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7026566

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档