Dieser Code funktioniert ordnungsgemäß. Aber wenn ich den Bereich ändern möchte, gibt OleDBException.C# Excel-Abfrage Problem
OleDbCommand dates = new OleDbCommand("SELECT date FROM ["Sheet1$A1:B150"] ", baglanti);
OleDbDataReader reader= dates.ExecuteReader();
while (reader.Read())
{
list.Add(reader["date"]);
}
Bereich geändert Version:
OleDbCommand dates = new OleDbCommand("SELECT date FROM ["Sheet1$A250:B350"] ", baglanti);
OleDbDataReader reader= dates.ExecuteReader();
while (reader.Read())
{
list.Add(reader["date"]);
}
AUSNAHME IST:
System.Data.OleDb.OleDbException was unhandled by user code
ErrorCode=-2147217904
HResult=-2147217904
Message=No value is entered for one or more required parameters.
Source=Microsoft Access Database Engine
StackTrace:
konum: System.Data.OleDb.OleDbCommand.ExecuteCommandTextErrorHandling(OleDbHResult hr)
konum: System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object& executeResult)
konum: System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult)
konum: System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method)
konum: System.Data.OleDb.OleDbCommand.ExecuteReader(CommandBehavior behavior)
konum: Hasta_Bulucu.Form1.bul_DoWork(Object sender, DoWorkEventArgs e) C:\Users\Furka\documents\visual studio 2015\Projects\Hasta Bulucu\Hasta Bulucu\Form1.cs içinde: satır 269
konum: System.ComponentModel.BackgroundWorker.OnDoWork(DoWorkEventArgs e)
konum: System.ComponentModel.BackgroundWorker.WorkerThreadStart(Object argument)
InnerException:
könnten Sie bitte die Verbindungszeichenfolge hinzufügen, die Sie verwenden, um OledDbConnection zu initialisieren? – andrews
@andrews OleDbConnection baglanti = neue OleDbConnection (@ "Provider = Microsoft.ACE.OLEDB.12.0; Datenquelle =" + filePick.FileName.ToString() + "; Modus = Lesen; Erweiterte Eigenschaften = 'Excel 12.0 xml; HDR = JA; IMEX = 1; '"); –
@andrews, wenn ich Bereich A1 zu R250 setze, enthält es Kopf des Blattes, aber A150 zu R300, das Kopfzeile nicht einschließt. Also SQL-Befehl kann Spaltennamen nicht finden. Ich muss Header-Informationen zu dieser Auswahl hinzufügen. So wie es geht? –