精华内容
下载资源
问答
  • 来源:http://www.cnblogs.com/JuneZhang/archive/2013/01/10/2853981.html今天运行项目,提示“未能启用约束。一行或多行中包含违反非空、唯一或外键约束的值。”的异常信息。在网上找了查了一些原因:...

    来源:http://www.cnblogs.com/JuneZhang/archive/2013/01/10/2853981.html

    今天运行项目,提示“未能启用约束。一行或多行中包含违反非空、唯一或外键约束的值。”的异常信息。

    0d8e1267c3398212fbdbea66ccf898e2.png

    在网上找了查了一些原因:http://www.cnblogs.com/muzihai1988/archive/2011/05/04/2036502.html

    原因分析:强类型的DataTable和SQL语句查询出的结果不匹配。 简单说就是强类型的DataTable比SQL语句查询出来的结果集要多一些数据列或这属性不对应。

    针对所提示的异常信息检查了所用表的唯一、非空、外键约束,并未发现异常情况。因此上网查询了有关的资料。所提供的方法有以下几种:

    DataTable中的字段属性与表中的字段属性不一致,导致了未能启用约束。修改方法:找到***.xsd文件里与表格修改的对应字段,点击该字段的属性----最大长度 等于你的数据表的修改字段后的最大长度我想了一下,昨天确实修改过一个字段的长度,然后在xsd中找到对应的自动,把长度改为新的长度,然后错误就没出现了。

    在.xsd 文件里找到出问题的那张表,使用Shift键配合鼠标选中全部的列,然后按Delete删除,然后鼠标右键点击表头,然后在菜单中选择“配置”,然后点击 “完成”按钮,重新生成强类型DateTable即可。使用以上方法的前提是,SelectCommand命令里的SQL语句是类似Select * FROM Table这样的语句。如果没有使用通配符,那就得再修改下SQL语句了,然后再重新生成强类型的DataTable。(此方式并没有用过,在删除的时候可能会提示错误,不能够删除,参考附件)

    附件:在删除可能会提示以下错误:

    7652a15d2c7ee1f4b976178939348aab.png

    这说明是数据库的连接有问题,解决方法:重启VS,先不要打开项目,在tools中选择connect to database连接到数据库,再打开项目即可。

    展开全文
  • I make an outer join and executed successfully in the informix database but I get the following exception in my code:DataTable dt = TeachingLoadDAL.GetCoursesWithEvalState(i, bat);...

    I make an outer join and executed successfully in the informix database but I get the following exception in my code:

    DataTable dt = TeachingLoadDAL.GetCoursesWithEvalState(i, bat);

    Failed to enable constraints. One or more rows contain values

    violating non-null, unique, or foreign-key constraints.

    I know the problem, but I don't know how to fix it.

    The second table I make the outer join on contains a composite primary key which are null in the previous outer join query.

    EDIT:

    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 = ....

    The problem happens with the table cc1assiscrseval. The primary key is (batch_no, crsnum, lect_code).

    How to fix this problem?

    EDIT:

    According to @PaulStock advice:

    I do what he said, and i get:

    ? dt.GetErrors()[0] {System.Data.DataRow} HasErrors: true ItemArray:

    {object[10]} RowError: "Column 'eval' does not allow DBNull.Value."

    So I solve my problem by replacing e.eval to ,NVL (e.eval,'') eval.and this solves my problem.

    Thanks a lot.

    解决方案

    This problem is usually caused by one of the following

    null values being returned for columns not set to AllowDBNull

    duplicate rows being returned with the same primary key.

    a mismatch in column definition (e.g. size of char fields) between the database and the dataset

    Try running your query natively and look at the results, if the resultset is not too large. If you've eliminated null values, then my guess is that the primary key columns is being duplicated.

    Or, to see the exact error, you can manually add a Try/Catch block to the generated code like so and then breaking when the exception is raised:

    HQrHa.png

    Then within the command window, call GetErrors method on the table getting the error.

    For C#, the command would be ? dataTable.GetErrors()

    For VB, the command is ? dataTable.GetErrors

    ekNb5.png

    This will show you all datarows which have an error. You can get then look at the RowError for each of these, which should tell you the column that's invalid along with the problem. So, to see the error of the first datarow in error the command is:

    ? dataTable.GetErrors(0).RowError

    or in C# it would be ? dataTable.GetErrors()[0].RowError

    Ynmlf.png

    展开全文
  • 未能启用约束。一行或多行中包含违反非空、唯一或外键约束的值。说明:执行当前Web请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细...未能启用约束。一行或多行中...

    未能启用约束。一行或多行中包含违反非空、唯一或外键约束的值。说明:执行当前Web请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细...

    未能启用约束。一行或多行中包含违反非空、唯一或外键约束的值。

    说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

    异常详细信息: System.Data.ConstraintException: 未能启用约束。一行或多行中包含违反非空、唯一或外键约束的值。

    源错误:

    执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。

    堆栈跟踪:

    [ConstraintException: 未能启用约束。一行或多行中包含违反非空、唯一或外键约束的值。]

    BDMT.Facade.BaseFacade.GetEntity(DataSet LoginUser, Int32 MenuID, String strEntityName, String strFilter, DataSet Filter) in D:\Projects\CTOA_V2\Facade\BaseFacade\BaseFacade.cs:141

    BaseControl.GetEntity(String strEntityName, String strFilter) +46

    FilterControl.addcontrols(HtmlTableCell tc, DataRow dr) +990

    FilterControl.CreateTable() +680

    FilterControl.Page_Load(Object sender, EventArgs e) +89

    System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +14

    System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +35

    System.Web.UI.Control.OnLoad(EventArgs e) +99

    System.Web.UI.Control.LoadRecursive() +50

    System.Web.UI.Control.LoadRecursive() +141

    System.Web.UI.Control.LoadRecursive() +141

    System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +627

    各位大神,请问这个问题要怎么解决?

    展开

    展开全文
  • C# codeusing System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;...

    C# codeusing System;

    using System.Collections.Generic;

    using System.ComponentModel;

    using System.Data;

    using System.Drawing;

    using System.Text;

    using System.Windows.Forms;

    using System.Data.SqlClient;

    namespace MZYSZ

    {

    public partial class FormSrytalreport : Form

    {

    public FormSrytalreport()

    {

    InitializeComponent();

    }

    private void FormSrytalreport_Load(object sender, EventArgs e)

    {

    try

    {

    //string st = SQL.getCon();

    SqlConnection con = new SqlConnection(SQL.getCon());

    //string sql = "select * from patient_information";

    string sql = "select * from patient_cf";

    con.Open();

    SqlDataAdapter sda = new SqlDataAdapter(sql, con);

    //DataSet ds = new DataSet();

    //CfDataSet cds = new CfDataSet();

    //PatientDataSet1 cds = new PatientDataSet1();

    CfpatientDataSet1 cds = new CfpatientDataSet1();

    sda.Fill(cds, "patient_cf");

    //sda.Fill(cds, "patient_information");

    CrystalReport1 crr = new CrystalReport1();

    //crr.SetDataSource(cds.Tables["patient_information"]);

    crr.SetDataSource(cds.Tables["patient_cf"]);

    this.crystalReportViewer1.ReportSource = crr;

    }

    catch (Exception ex)

    {

    MessageBox.Show(ex.ToString());

    }

    }

    }

    }

    我查询表patient_information的时候可以查出数据,但是查视图时patient_cf提示出错。视图patient_cf是表patient_information和表patient 通过p_id字段相等选出来的

    展开全文
  • 正在导入表"T"导入了0行 即将启用约束条件... 成功终止导入,没有出现警告。 SQL> select constraint_name name ,constraint_type type,search_condition from user_constraints where table_name='T'; NAMET SEARCH_...
  • Imp/exp导入导出 1.可以在命令行输入exp help=y...正在导入表"EMP"导入了5 行 即将启用约束条件... 成功终止导入,没有出现警告。 查询hr用户下的表emp表 SQL> select count(*) from emp; COUNT(*) ---------- 5 SQL>
  • --在用PL/SQL导入表数据的时候报错 ORA-02298: 无法验证 (PNET.POST_CLOB_FK) - 未找到父项关键字--发现是启用外键约束时报的错alter table DM_VOLREV enable constraint VR_VOLID_FK;/*原因分析:你要插入的表A里,...
  • 我正在尝试几天来禁用所有表的约束,插入数据并启用约束.它工作但我做了一些测试,当我插入一个不尊重外键的行时,启用约束时没有错误消息.我只能看到该约束未经验证.这是要禁用的代码beginBEGINFOR rec IN ( SELECT ...
  • SQL Sever 小技巧之解决外键约束(禁用、启用外键约束) 因为有外键约束的存在,在从表中,修改主表不存在的数据是不合法的;在主表中,删除从表中已存在的主表信息也是不合法的。 当然方法总比困难多,以下两种方法各有...
  • 其中disable/enable代表是否启用约束,validate/novalidate代表启用约束时是否对表中原有数据作检查。这里模拟生产环境中的情况,先建一张没有约束的表,等有一定数据后建立enable novalida...
  • sql server中解除与启用外键约束的语句 创建外键: ALTER TABLE test_sub ADD CONSTRAINT main_id_cons FOREIGN KEY (main_id) REFERENCES test_main; 暂时 停用 外键约束 ALTER TABLE test_sub NOCHECK CONSTRAINT ...
  • 连接到: Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production With the Partitioning, OLAP and Oracle Data ... 正在导入表 "YZ_ZB_TEMP" 812行被导入 准备启用约束条件... 成功终止导入,但出现警告。
  • ; ----以便打印出输出禁用约束检查 exec MANAGE_USER_CONSTRAINTS(...启用约束 exec MANAGE_USER_CONSTRAINTS(‘enable‘,true,true,true);CREATE OR REPLACE PROCEDURE MANAGE_USER_CONSTRAINTS(OPERATION V...
  • 一. 约束 --查询约束...
  • 进入 在进行数据库进行操作时,由于各个表的约束条件限制,进行数据批量操作很困难,下面是对oracle数据库约束条件语句进行操作,供大家参考! 删除所有外键约束 Sql代码 select 'alter table '欢迎进入Oracle社区...
  • dmp导入错误解决方法

    2021-05-02 01:16:34
    单位给了一个dmp文件,导入出现约束之类的错误,提示如下:即将启用约束条件...IMP-00017: 由于 ORACLE 错误 2298, 以下语句失败:"ALTER TABLE "PUB_LOGONLOG" ENABLE CONSTRAINT "FK_LOGONLOG_LOG""IMP-00003: 遇到...
  • 概述约束是数据库用来确保数据满足业务规则的手段,不过在真正的企业开发中,除了主键约束这类具有强需求的约束,像外键约束,检查约束更多时候仅仅出现在数据库设计阶段,真实环境却很少应用,更多是放到程序逻辑中...
  • sql完整性约束有哪些

    千次阅读 2021-01-18 21:24:05
    sql完整性约束有:1、“NOT NULL”非空约束,指定的列不允许为空值;2、“UNIQUE”唯一约束,指定列中没有重复值;3、“PRIMARY KEY”主键约束,唯一的标识出表的每一行;4、“FOREIGN KEY”外键约束;5、“CHECK”...
  • 在用IMP 导入orcale数据表的时候提示IMP-00003: 遇到 ORACLE 错误 1ORA-00001: 违反唯一约束条件 (SYS.I_JOB_JOB)ORA-06512: 在 "SYS.DBMS_JOB", line 97ORA-06512: 在 line 1IMP-00017: 由于 ORACLE...
  • oracle完整性约束

    2021-05-08 20:28:19
    完整性约束一、oracle中对表有五种约束条件非空(not null)唯一(unique)主键(primary key)外键(foreign key)check约束NOT NULL:指定列不能包含空值。UNIQUE:指定列的值或者列的组合的值对于表中所有的行必须是唯一...
  • 完整性约束用于增强数据的完整性,Oracle提供了5种完整性...用户可以指明约束启用的还是禁用的,当约束启用时,他增强了数据的完整性,否则,则反之,但约束始终存在于数据字典中。禁用约束,使用ALTER语句:ALTER...
  • 目标实例解说在Oracle中怎样使用CHECK约束(创建、启用、禁用和删除)2. 什么是Check约束?CHECK约束指在表的列中添加额外的限制条件。注:CHECK约束不能在VIEW中定义。CHECK约束仅仅能定义的列必须包括在所指定的表...
  • 约束1:什么是约束

    2021-05-18 06:55:28
    约束(Constraint)使用户可以定义数据库引擎执行数据完整性的方式,就是说,约束定义了有关列中允许的值的规则,强制数据表保持数据的完整性,表数据必须符合一定的条件。因为约束跟表数据有十分密切的关系,因此,...
  • 约束:constraint概念:约束是定义在表上的一种强制规则作用:当为某个表定义约束后,对该表所做的所有SQL操作都必须满足约束的规则要求,否则将操作失败命名规则:表名_列名_约束类型默认约束名:SYS_Cn,n是一个唯一的整数...
  • 创建唯一性约束,自动创建了和约束名一样的唯一性索引创建check约束,不会产生索引创建外键约束,不会产生索引启用约束:enable( validate) :启用约束,创建索引,对已有及新加入的数据执行约束.enable novalidate :...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 50,661
精华内容 20,264
关键字:

启用约束