急请高手指点,未能启用约束。一行或多行中包含违反非空、唯一或外键约束的值[问题点数: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.Da