CSV Abfrage mit SQL über ADO.NET mit "Where..."

sinni800

Mitglied
Hallo!

Ich war zwischen Relationalen Datenbanksystemen und diesem Forum hier, weil die Frage eigentlich mehr allgemein eine Frage zum SQL ist... Aber CSV ist doch kein richtiges Datenbanksystem, also hier her!

Also, ich hab eine CSV Datenbank aus der ich die zugehörige ID zu einem Wert abfragen möchte.

Code:
                Dim commx As New OleDbCommand("SELECT * FROM characters.csv WHERE Name = '" + f + "';", conn)
                Dim result1 As OleDbDataReader = commx.ExecuteReader
                Dim Name As String = result1.Item("Name")
                Dim nummer As String = result1.Item("ID")

Hab einen Debug.Write gesetzt auf die OleDbCommand... und das kommt raus:

Code:
Command: SELECT * FROM characters.csv WHERE Name = 'Mark';

Meine characters.CSV....

Code:
"ID";"Name"
............
23;"Kevin Lee"
24;"Mark"
25;"Mike"
............

schema.ini (Ausschnitt für diese Datei)
Code:
[characters.csv]
ColNameHeader=True
CharacterSet=1252
Format=Delimited(;)
Col1=ID Short
Col2=Name LongChar Attribute 32

Mark ist also drinne. Nur kommt jetzt bei "Dim Name As String = result1.Item("Name")"
Eine InvalidOperationException: Keine Daten für die Zeile/Spalte. Auch wenn ich das weglasse, weil ich es eh nicht brauche kommt der Fehler halt bei result1.item("ID") (Ich suche ja nach dem Namen, also hab ich ihn schon ;) )

Eigentlich MÜSSEN da Daten sein, sonst kann ich beim Prog nicht weiter machen. Deswegen lass ich auch die Überprüfung von "If read.read then....". Wenn ich das Programm so veränder dass ein anderer Name dran kommt, immer das gleiche! Gleicher Fehler.

F ist übrigens ein Wert der von einer For-Schleife in der der SQL Befehl drin steht verändert wird (For Each f In Chars).

Hab noch 2 solche CSV Tabellen, Nummer 1 kann dank diesem Fehler nicht gefüllt werden, Nummer 2 hat auch solche Inhalte mit deren Hilfe die 1 gefüllt wird.


Hoffentlich habt ihrs verstanden und ich hoffe jemand kann mir helfen, die Zeile wird ums verrecken nicht gefunden :(


EDIT: Nach EWIGEM rumprobieren hab ichs geschafft, ich glaub es lag daran dass ich kein "reader.read" aufgerufen hatte... xD
 
Zuletzt bearbeitet:
Zurück