Abfrage mit OleDbDataReader ausführen, OleDbException (0x80004005) abrufenC#

Ein Treffpunkt für C#-Programmierer
Anonymous
 Abfrage mit OleDbDataReader ausführen, OleDbException (0x80004005) abrufen

Post by Anonymous »

Ich habe einige Probleme damit, dass DataReader einige Daten aus einer Datenbank speichert (Microsoft Access 2012). Zumindest denke ich, dass es so funktioniert.
Ich habe eine ComboBox und zu Beginn des Programms fülle ich deren Elemente mit Daten aus:

Code: Select all

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();
Es funktioniert einwandfrei und füllt die ComboBox jetzt beim Start des Programms auf, wenn der Benutzer ein Element aus der Kombinationsbox auswählt.
Ich möchte, dass die Elemente der nächsten ComboBox basierend auf der Abteilung gefüllt werden, die der Benutzer in der ersten Kombinationsbox ausgewählt hat.

Code: Select all

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]);
}
}
Die Sache ist die, ich habe völlig ähnliche Codes wie meine Klassenkameraden und meiner hat eine ungewöhnlich lange Fehlermeldung, die wir nicht debuggen können.
Der Fehler tritt auf, nachdem ich etwas aus der cmbDepartment ausgewählt habe. Bei einem Try/Catch-Vorgang erhalte ich folgende Fehlermeldung:

Code: Select all

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

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post