Seite 1 von 2
Die SQLite Sternen-Problematik
Verfasst: 24.05.2007 16:59
von PureBasic4.0
Hi, Leute
Folgende Problematik:
Ich benutze folgenden Code:
Code: Alles auswählen
SqlString$ = "DELETE * FROM Profile WHERE 'Name' = '"+\Name+"'"
SQLiteExecute(DBHandle,SqlString$,0)
Debug SQLiteErrorMsg(DBHandle)
Die ErrorMsg() zeigt folgendes an:
near "*": syntax error
Im "normalen" SQL ist das ein ganz normaler Befehl.
Wie kann ich SQLite (ich benutze die SQLite.pbi) verklickern, dass diese alle Daten aus der Datenbank Profile löscht, die einen bestimmten Namen haben?
Re: SQLite3 kann keinen *
Verfasst: 24.05.2007 17:09
von Kiffi
PureBasic4.0 hat geschrieben:Im "normalen" SQL ist das ein ganz normaler Befehl.
Nöh, isses nicht.
Grüße ... Kiffi
Verfasst: 24.05.2007 17:11
von zigapeda
DELETE * würde heißen alle Felder löschen aber es wird sowieso die ganze Zeile gelöscht d.h. der Stern ist zu viel.
Lass ihn weg dann wird es gehen
Verfasst: 24.05.2007 17:15
von PureBasic4.0
hab ich schon. ohne stern macht sqlite überhaupt nichts
Re: SQLite3 kann keinen *
Verfasst: 24.05.2007 17:23
von DarkDragon
Kiffi hat geschrieben:PureBasic4.0 hat geschrieben:Im "normalen" SQL ist das ein ganz normaler Befehl.
Nöh, isses nicht.
Grüße ... Kiffi
Stimmt, ein Befehl in dem Sinne ist es nicht, aber Wildcards gehören eindeutig zur SQL.
Verfasst: 24.05.2007 17:49
von Thorsten1867
Probier mal das:
Code: Alles auswählen
SqlString$ = "DELETE FROM Profile WHERE Name = '"+Name$+"';"
SQLiteExecute(DBHandle,SqlString$,0)
Debug SQLiteErrorMsg(DBHandle)
'\Name' scheint mir keine gültige Stringvariable zu sein.
Re: SQLite3 kann keinen *
Verfasst: 24.05.2007 21:25
von Kiffi
DarkDragon hat geschrieben:Stimmt, ein Befehl in dem Sinne ist es nicht, aber Wildcards gehören eindeutig zur SQL.
PureBasic4.0 behauptete, dass 'Delete * ...' eine ganz normale
SQL-Anweisung sei. Und dem habe ich lediglich widersprochen.
@PureBasic4.0: Kannst Du bitte den Betreff ändern?
Grüße ... Kiffi
Verfasst: 25.05.2007 14:45
von PureBasic4.0
Verfasst: 25.05.2007 15:33
von Kiffi
na, so witzig finde ich das gar nicht. Generell geht's ja nicht um einen Bug in
SQLite bzw. der SQLite.pb, sondern darum, dass Du nicht in der Lage bist, ein
Delete-Statement an eine Datenbank zu senden.
Wie auch in
diesem Thread vermute ich, dass der Bug vor der Tastatur sitzt.
Aus diesem Grund wäre es von Vorteil, wenn Du einen kurzen Code hier
postest, anhand dessen man den Fehler nachvollziehen kann.
Grüße ... Kiffi
Verfasst: 25.05.2007 15:38
von PureBasic4.0
Kiffi hat geschrieben:
Wie auch in
diesem Thread vermute ich, dass der Bug vor der Tastatur sitzt.
@all: Der Bug saß vor der Tastatur!
Wie auch in meinem ersten Posting erwähnt, habe ich diesen Code benutzt
Code: Alles auswählen
SqlString$ = "DELETE * FROM Profile WHERE 'Name' = '"+\Name+"'"
SQLiteExecute(DBHandle,SqlString$,0)
Debug SQLiteErrorMsg(DBHandle)
Habe dann den Stern weggelassen. Hat aber auch nicht funktioniert, weil es keine Datenbank Namens
'Name
' gibt. Die Datenbank heißt Name ohne Hochkommata.
Trotzdem Danke für eure Bemühungen. Der Code funktioniert jetzt