Выполнение запроса с использованием OleDbDataReader, получение OleDbException (0x80004005)C#

Место общения программистов C#
Ответить
Anonymous
 Выполнение запроса с использованием OleDbDataReader, получение OleDbException (0x80004005)

Сообщение Anonymous »

У меня возникли проблемы с DataReader, хранящим некоторые данные из базы данных (Microsoft Access 2012).. или, по крайней мере, я думаю, что это так работает.
У меня есть ComboBox, и в начале программы я заполняю его элементы данными из:
Connect.Open();
Command.Connection = Connect;
Command.CommandText = "Select * from Department";
OleDbDataReader dr;
dr = Command.ExecuteReader();
if (dr.HasRows)
{
while (dr.Read())
{
cmbDepartment.Items.Add(dr[0].ToString());
}
}
Connect.Close();

Он отлично работает и теперь заполняет поле со списком в начале программы, когда пользователь выбирает один элемент из поля со списком.
Я хотел бы, чтобы следующие элементы поля со списком заполнялись в зависимости от того, какой отдел пользователь выбрал в первом поле со списком.
Connect.Open();

Command.CommandText = "select JobTitle from Position where Department ='"+cmbDepartment.Text + "'";

OleDbDataReader dr2;
dr2 = Command.ExecuteReader();

if (dr2.HasRows)
{
while (dr2.Read())
{
cmbPosition.Items.Add(dr2[0]);
}
}

Дело в том, что у меня совершенно такие же коды, как и у моих одноклассников, а у меня необычно длинное сообщение об ошибке, которое мы не можем отладить.
Ошибка возникает после того, как я выбираю что-то из cmbDepartment. Используя try/catch, я получил следующее сообщение об ошибке:
System.Data.OleDb.OleDbException (0x80004005): IErrorInfo.GetDescription failed with E_FAIL(0x80004005).
at System.Data.OleDb.OleDbCommand.ExecuteCommandTextErrorHandling(OleDbHResult hr)
at System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object& executeResult)
at System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult)
at System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult)
at System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method)
at System.Data.OleDb.OleDbCommand.ExecuteReader(CommandBehavior behavior)
at System.Data.OleDb.OleDbCommand.ExecuteReader()
at katapusan.Employee.cmbDepartment_TextChanged(Object sender, EventArgs e) in c:\Users\Matt\Documents\Visual Studio 2012\Projects\katapusan\katapusan\Employee.cs:line 423


Подробнее здесь: https://stackoverflow.com/questions/264 ... 0x80004005
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»