Frage

erstelle ich eine Tabelle mit dem Namen "PathTable" in einer MS-Access DB. Die Tabelle ist wie folgt:

------------------------------
| IP        | Input | Output |
------------------------------
| 127.0.0.1 | XXXXX | YYYYYY |
------------------------------

Wenn ich programmierter diese

String CommandString = "SELECT Input, Output FROM PathTable WHERE IP = '127.0.0.1'";

OleDbCommand CommandObj = new OleDbCommand( CommandString, m_Connection );

OleDbDataReader ReaderObj = CommandObj.ExecuteReader();

Sie den Code immer OleDbException werfen, und das ist E_FAIL Errordescription (0x80004005),

Aber wenn ich ersetzt den befehl mit

SELECT * FROM PathTable WHERE IP = '127.0.0.1'

Das Problem nie wieder happended.

Also, meine Frage ist: Gibt es OleDbCommand nur excute "select *"? Danke.

War es hilfreich?

Lösung

Vielleicht sind diese vorbehalten Worte. Versuchen Sie zitieren sie:

SELECT [Input], [Output] FROM PathTable WHERE IP = '127.0.0.1'

Andere Tipps

Ich bin die Liste von Microsoft zu senden Worte vorbehalten, Bitte überprüfen Sie reserviertes Schlüsselwort verwenden, das ist, warum Sie dieses Problem konfrontiert sind.

http://support.microsoft.com/kb/321266

Es ist möglich, 'Input' oder 'Output' sind reservierte Worte in Access SQL so versuchen Sie [] eckige Klammern um diese Feldnamen.

Input und Output können Schlüsselwörter sein. Versuchen Sie, mit eckigen Klammern umgeben. d.

[Eingabe] [Ausgabe]

Datei nicht gefunden -. Eine weitere mögliche Ursache für diese Ausnahme ist, wenn die Datei Ihres auf Last versuchen / Lese existiert nicht

Ich habe gefunden, es nützlich, ein „File.Exists“ durchzuführen, bevor Sie versuchen, die Datei zu öffnen, nur mein Code, um sicherzustellen, erkennt diese spezifische Ursache des „IErrorInfo.GetDescription mit E_FAIL fehlgeschlagen (0x80004005)“ Ausnahme richtig.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top