未能启用约束。一行或多行中包含违反非空、唯一或外键约束的值
2014-04-29 16:56
288 查看
一、问题描述
在C#程序中定义了一个数据集ada,然后拉进了一张表INVOICE,需要对该表进行查询方法GetText(fph)的配置。 配置时的语句为:SELECT INVNAME FROM SCOTT.INVOICE WHERE (INVNO = :INVNO);
编译通过,运行时弹出“未能启用约束。一行或多行中包含违反非空、唯一或外键约束的值。”错误。
二、原因分析
该查询方法返回的是记录集,如果没有主键的话,INVNAME 可能有重复,就会导致上面的错误,所以需要包含主键。三、解决方案
将主键也包含进select语句中:SELECT INVNO,INVNAME FROM SCOTT.INVOICE WHERE (INVNO = :INVNO);
如果嫌麻烦,可以直接SELECT * FROM SCOTT.INVOICE WHERE (INVNO = :INVNO);然后用列名获取特定列的字段即可:
ada.GetText(fph).Rows[0]["invtype"].ToString();
相关文章推荐
- 用数据集时,错误:未能启用约束。一行或多行中包含违反非空、唯一或外键约束的值
- 用数据集时,错误:未能启用约束。一行或多行中包含违反非空、唯一或外键约束的值
- 关于 未能启用约束。一行或多行中包含违反非空、唯一或外键约束的值 的解决办法
- asp.net提示:未能启用约束。一行或多行中包含违反非空、唯一或外键约束的值。
- "未能启用约束。一行或多行中包含违反非空、唯一或外键约束的值。"的解决办法
- 关于强类型Dataset出错提示未能启用约束。一行或多行中包含违反非空、唯一或外键约束的值
- 未能启用约束。一行或多行中包含违反非空、唯一或外键约束的值。
- 未能启用约束。一行或多行中包含违反非空、唯一或外键约束的值。
- System.Data.ConstraintException: 未能启用约束。一行或多行中包含违反非空、唯一或外键约束的值。
- (原)未能启用约束。一行或多行中包含违反非空、唯一或外键约束的值与DATEADD
- VS中提示:未能启用约束。一行或多行中包含违反非空、唯一或外键约束的值。
- 今天用Visual C#为客户做一个数据下载分析系统,碰到一个问题 未能启用约束。一行或多行中包含违反非空、唯一或外键约束的值。
- 关于 未能启用约束。一行或多行中包含违反非空、唯一或外键
- Mark:未能启用约束。一行或多行中包含违反非空、唯一或外键约束的值
- 关于强类型Dataset出错提示未能启用约束。一行或多行中包含违反非空、唯一或外键约束的值
- 在数据库返回过程中,发生如下错误,未能启用约束,一行或多行中包含违反非空、唯一或外键约束的值。
- “未能启用约束。一行或多行中包含违反非空、唯一或外键约束的值”的可能解决方法
- 未能启用约束。一行或多行中包含违反非空、唯一或外键约束的值
- 未能启用约束。一行或多行中包含违反非空、唯一或外键约束的值
- 未能启用约束。一行或多行中包含违反非空、唯一或外键约束的值。