SQLite-Befehl LIKE funktioniert nicht? (gelöst)
Verfasst: 03.08.2009 09:41
Hallo,
der SQLite-Befehl LIKE funktioniert nicht?
DatabaseQuery gibt aber eine 1 zurück!
Warum erhalte ich kein Abfrageergebnis?
der SQLite-Befehl LIKE funktioniert nicht?
DatabaseQuery gibt aber eine 1 zurück!
Warum erhalte ich kein Abfrageergebnis?
Code: Alles auswählen
#db0=0
dbzaehler=0
UseSQLiteDatabase()
DatabaseFile$ = "i:\purebasic\forumexamples\bestand.sqlite"
;DatabaseFile$ = GetTemporaryDirectory()+"\Database.sqlite"
Debug DatabaseFile$
If CreateFile(#db0, DatabaseFile$)
CloseFile(#db0)
If OpenDatabase(#db0, DatabaseFile$, "", "")
DatabaseUpdate(#db0, "CREATE TABLE bestand (Dsnr INTEGER PRIMARY KEY AUTOINCREMENT UNIQUE Not NULL, Name VARCHAR(40) , Stueck NUMERIC(10) , Preis NUMERIC(10,2))")
DatabaseUpdate(#db0, "INSERT INTO bestand (Name, Stueck, Preis) VALUES ('"+Name$+"', '"+Stueck$+"', '"+Str(Preis)+"')")
DatabaseUpdate(#db0, "INSERT INTO bestand (Name, Stueck, Preis) VALUES ('Tastatur', '5', '25.55')")
DatabaseUpdate(#db0, "INSERT INTO bestand (Name, Stueck, Preis) VALUES ('DVD-Laufwerk', '20', '33.00')")
DatabaseUpdate(#db0, "INSERT INTO bestand (Name, Stueck, Preis) VALUES ('Festplatte 160GB', '23', '133.00')")
DatabaseUpdate(#db0, "INSERT INTO bestand (Name, Stueck, Preis) VALUES ('USB-Stick 2GB', '44', '3.00')")
If DatabaseQuery(#db0, "SELECT * FROM bestand")
While NextDatabaseRow(#db0)
Debug "Datensatznummer: "+ GetDatabaseString(#db0, 0)
Debug "Artikel : "+ GetDatabaseString(#db0, 1)
Debug "Stück : " + GetDatabaseString(#db0, 2)
Debug "Preis : "+ GetDatabaseString(#db0, 3)
dbzaehler=dbzaehler+1
Wend
EndIf
Debug ""
Debug "_______________________"
Debug""
such$="Fe" ;wir fragen nach der "Festplatte"
frage = DatabaseQuery(#db0, "SELECT ALL Name FROM bestand WHERE Name LIKE '"+ Trim(such$)+"*'")
Debug "Datenbankabfrage erfolgreich: " + Str(frage) ;war die Datenbankabfrage erfolgreich
If Not frage
Debug "Error:"+DatabaseError() ;wenn nein, welcher Fehlercode
EndIf
NextDatabaseRow(#db0)
lzdb=GetDatabaseLong(#db0, 0)
Debug "das suche ich: "+"'"+ Trim(such$)+"*'" ;Überprüfung des Abfragestrings
Debug "Datensatznummer: "+Str(lzdb) + " / sollte eine 3 ergeben" ; gefundene Datensatznummer
Debug "Name: "+GetDatabaseString(#db0, 1) ; gefundenen Artikel
FinishDatabaseQuery(#db0)
Else
Debug "Can't open database !"
EndIf
Else
Debug "Can't create the database file !"
EndIf