Abrufen von Werten aus OleDbDataReader, die aus der Access-Datenbank gelesen werden
Darunter der Code, den ich verwende, um eine Verbindung zu einer Access-Datenbank herzustellen und die Werte aus der Abfrage abzurufen. Das Problem ist, dass ich keine Werte vom Reader-Objekt zurückerhalten kann. Ich kann sehen, dass es die richtige Anzahl von Zeilen gibt, erhalte jedoch weiterhin eine InvalidOperationException (unabhängig davon, ob ich GetValue () oder GetString () verwende) mit der Meldung "Für die Zeile / Spalte sind keine Daten vorhanden."
System.Data.OleDb.OleDbConnection conn = new
System.Data.OleDb.OleDbConnection();
conn.ConnectionString = @"Provider=Microsoft Office 12.0 Access Database Engine OLE DB Provider;" +
@"Data source= C:\Users\nearod\Desktop\ImportDB.accdb";
try
{
conn.Open();
OleDbCommand cmd = new OleDbCommand("SELECT * FROM [SQL Agent Unique ID Test Load]", conn);
OleDbDataReader reader = cmd.ExecuteReader();
string companyCode = reader.GetValue(0).ToString();
string agentId = reader.GetString(1);
string firstName = reader.GetString(2);
string lastName = reader.GetString(3);
string nameSuffix = reader.GetString(4);
string corporateName = reader.GetString(5);
string entityType = reader.GetString(6);
string obfSSN = reader.GetString(7);
string obfFEIN = reader.GetString(8);
string dummyIndicator = reader.GetString(9);
// Insert code to process data.
}
catch (Exception ex)
{
MessageBox.Show("Failed to connect to data source");
}
finally
{
conn.Close();
}