我有这个方法:
public static DataTable ExecuteDataTable(IDbConnection connection, string cmdText)
{
IDbCommand command = connection.CreateCommand();
command.CommandText = cmdText;
command.CommandType = CommandType.Text;
IDataReader reader = command.ExecuteReader();
DataTable dt = new DataTable();
dt.Load(reader);
return dt;
}
当我对SQLConnection类型的连接执行查询select * from information_schema.Tables
时,一切正常。
但是,当我尝试针对SqlCEConnection
类型的连接运行它时,行dt.Load(reader)
会引发异常:
System.Data.ConstraintException: Failed to enable constraints. One or more rows contain values violating non-null, unique, or foreign-key constraints.
答案 0 :(得分:1)
当然是一个奇怪的问题,但这里有另一种选择:
将数据读入DataSet并将EnforceConstraints设置为false。然后,您可以返回DataSet.Tables[0]