读书人

急请,未能启用约束。一行或多行中包含

发布时间: 2012-12-31 11:57:52 作者: rapoo

急请高手指点,未能启用约束。一行或多行中包含违反非空、唯一或外键约束的值[问题点数:50分]


我的Gbase数据库里对应的表没有约束、外键,就1条数据。

c#代码如下:
DataTable dt = new DataTable();

GBaseConnection sqlCon = new GBaseConnection(ConfigurationManager.ConnectionStrings[connectionstring].ToString());

GBaseCommand sqlCmd = new GBaseCommand();

sqlCmd.Connection = sqlCon;

if (ViewState["flag"] != null && (bool)ViewState["flag"] == true)
{
sqlCmd.CommandType = CommandType.StoredProcedure;

if (ViewState["para"] != null)
{
foreach (object arrary in (ArrayList)ViewState["para"])
{
Hashtable htb = (Hashtable)arrary;
GBaseParameter sqlPara = new GBaseParameter(htb["name"].ToString(), htb["value"]);
sqlCmd.Parameters.Add(sqlPara);
}
}
}

sqlCmd.CommandText = ViewState["query"].ToString();
sqlCmd.Connection.Open();
dt.Load(sqlCmd.ExecuteReader());//出现下面的错误
sqlCmd.Connection.Close();

total = dt.Rows.Count;




“/”应用程序中的服务器错误。
--------------------------------------------

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

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

源错误:


行 290: sqlCmd.CommandText = ViewState["query"].ToString();
行 291: sqlCmd.Connection.Open();
行 292: dt.Load(sqlCmd.ExecuteReader());
行 293: sqlCmd.Connection.Close();
行 294:


源文件: e:\水厂\最新版本\WSMSGBaseVer\usercontrol\PageNavigator.ascx.cs 行: 292

堆栈跟踪:


[ConstraintException: 未能启用约束。一行或多行中包含违反非空、唯一或外键约束的值。]
System.Data.DataTable.EnableConstraints() +2826964
System.Data.DataTable.set_EnforceConstraints(Boolean value) +48
System.Data.DataTable.EndLoadData() +218
System.Data.Common.DataAdapter.FillFromReader(DataSet dataset, DataTable datatable, String srcTable, DataReaderContainer dataReader, Int32 startRecord, Int32 maxRecords, DataColumn parentChapterColumn, Object parentChapterValue) +329


System.Data.Common.DataAdapter.Fill(DataTable[] dataTables, IDataReader dataReader, Int32 startRecord, Int32 maxRecords) +2328950
System.Data.Common.LoadAdapter.FillFromReader(DataTable[] dataTables, IDataReader dataReader, Int32 startRecord, Int32 maxRecords) +28
System.Data.DataTable.Load(IDataReader reader, LoadOption loadOption, FillErrorEventHandler errorHandler) +263
usercontrol_PageNavigator.GetData(Int32 pagenum) in e:\水厂\最新版本\WSMSGBaseVer\usercontrol\PageNavigator.ascx.cs:292
usercontrol_PageNavigator.Page_PreRender(Object sender, EventArgs e) in e:\水厂\最新版本\WSMSGBaseVer\usercontrol\PageNavigator.ascx.cs:160
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +25
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +42
System.Web.UI.Control.OnPreRender(EventArgs e) +11056782
System.Web.UI.Control.PreRenderRecursiveInternal() +108
System.Web.UI.Control.PreRenderRecursiveInternal() +224
System.Web.UI.Control.PreRenderRecursiveInternal() +224
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3394



--------------------------------------------
版本信息: Microsoft .NET Framework 版本:2.0.50727.5456; ASP.NET 版本:2.0.50727.5456
[解决办法]
这里mssql版块。

不过你的错误提示是违反约束,我觉得你还是好好检查下,注意小细节
[解决办法]
估计表中有主键,而你要向表里插入一空行.
[解决办法]

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

提示是你插入的数据出问题了

[解决办法]


[解决办法]
急请,未能启用约束。一行或多行中包含违反非空、唯一或外键约束的值[有关问题点数:50分]还没结贴?

读书人网 >SQL Server

热点推荐