JASLP - just another SQLite Problem ;-)
Verfasst: 10.06.2007 16:51
Hi, Leute
ich habe mal wieder weiter gecoded und bin auf folgende fehlerhaften Zeilen gestoßen:
Die DBExec Procedure sieht so aus:
Die Spalte ID in der Tabelle Shortcuts ist ein Autowertfeld.
Das Problem ist, dass der Debug in beiden While-Wend Schleifen nicht ausgeführt wird --> Schleife wird nicht ausgeführt. Aber wieso? Das Prog soll schauen, ob es bereits einen Eintrag mit den Einstellungen Profil, Netzwerkgerät, Warnung und Bestaetigungsmeldung gibt. Wenn es die nicht gibt, soll es einen Neuen eintrag erstellen. Wenn es die aber schon gibt, soll die vorhandene ID benutzt werden. Aber das funktioniert im Code leider nicht. WARUM?
Helft mir!!!
Thx,
PureBasic4.0
ich habe mal wieder weiter gecoded und bin auf folgende fehlerhaften Zeilen gestoßen:
Code: Alles auswählen
SqlString$ = "SELECT ID FROM Shortcuts WHERE Profil = '"+Profil$+"' AND Netzwerkgeraet = '"+Netzwerkg$+"' AND Warnung = "+Str(Warnung)+" AND Bestaetigung = "+Str(BestMld)
SQLiteGetTable(DBHandle,SqlString$,Table)
ok = 0
_id = -1
While SQLiteNextRow(Table)
ok = 1
Ergebnis$ = SQLiteValue(Table)
ID = Val(Ergebnis$)
Debug ID
Break
Wend
If ok = 0
DBExec("INSERT INTO Shortcuts VALUES('"+Profil$+"','"+Netzwerkg$+"',"+Str(Warnung)+","+Str(BestMld)+")")
Delay(100)
SqlString$ = "SELECT ID FROM Shortcuts WHERE Profil = '"+Profil$+"' AND Netzwerkgeraet = '"+Netzwerkg$+"' AND Warnung = "+Str(Warnung)+" AND Bestaetigung = "+Str(BestMld)
SQLiteGetTable(DBHandle,SqlString$,Table)
SQLiteNextCol(Table)
While SQLiteNextRow(Table)
Debug SQLiteValue(Table)
Wend
Else
_id = ID
EndIf
DBExec("INSERT INTO SavedShortcuts VALUES('"+DateiName$+"',"+Str(_id)+")")
Code: Alles auswählen
Procedure DBExec(SqlString$)
SQLiteExecute(DBHandle,SqlString$,0)
Fehler$ = SQLiteErrorMsg(DBHandle)
If Fehler$ = "not an error"
Error$ = ""
ProcedureReturn 1
Else
Error$ = Fehler$
ProcedureReturn 0
EndIf
EndProcedure
Das Problem ist, dass der Debug in beiden While-Wend Schleifen nicht ausgeführt wird --> Schleife wird nicht ausgeführt. Aber wieso? Das Prog soll schauen, ob es bereits einen Eintrag mit den Einstellungen Profil, Netzwerkgerät, Warnung und Bestaetigungsmeldung gibt. Wenn es die nicht gibt, soll es einen Neuen eintrag erstellen. Wenn es die aber schon gibt, soll die vorhandene ID benutzt werden. Aber das funktioniert im Code leider nicht. WARUM?
Helft mir!!!

Thx,
PureBasic4.0