У меня есть этот метод:
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;
}
Когда я выполняю запрос select * from information_schema.Tables
для соединения типа SQLConnection, все работает. Однако, когда я пытаюсь запустить его для соединения типа 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.
DataTable
, чтобы узнать, что вызвалоConstraintException
. Установите точку останова прямо в строкеdt.Load(reader);
. Используйте окно быстрого просмотра, чтобы выполнить эту строку. Затем вы можете получить все строки с ошибками с помощьюdt.GetErrors()
. Затем вы можете просмотреть каждый возвращенный DataRowRowError
свойство, чтобы увидеть фактическую причину. - person Tim Schmelter   schedule 08.03.2012