Seite 1 von 1

SQL läuft nicht in EXE

Verfasst: 09.01.2008 11:51
von Marco
Warum läuft das nicht als Executable, sondern nur im Compiler ? :cry:

Code: Alles auswählen

Debug UseSQLiteDatabase() 
Global KDB.l

Procedure AndernAdresse(Nr.l, Spaltenname.s, Neu.s)
    Debug "Begin: "+Str(DatabaseUpdate(KDB,"BEGIN TRANSACTION")) 
    Debug "Update: "+Str(DatabaseUpdate(KDB,"Update Adresse set "+Spaltenname+"='"+Neu+"' where ID="+Str(Nr))) 
    Debug "Commit: "+Str(DatabaseUpdate(KDB,"COMMIT")) 
EndProcedure

Procedure AlleDatenAnzeigen(DB.l)
    If DB.l And DatabaseQuery(DB.l,"select * from Adresse") 
      OpenConsole()
      EnableGraphicalConsole(0)
      PrintN("AlleDatenAnzeigen")
      While NextDatabaseRow(DB.l) 
        For Spalte=0 To DatabaseColumns(DB)-1
            PrintN( DatabaseColumnName(DB, Spalte)+" : "+GetDatabaseString(DB,Spalte) )
        Next
      Wend 
      PrintN("Weiter mit beliebiger Taste")
      Input()
    EndIf
EndProcedure

Procedure NeuerAdressenEintrag()
  DatabaseUpdate(KDB.l,"Insert into Adresse (Vorname, PLZ) values('Muster', '99999')")
EndProcedure

Procedure PruefeDatenbank_vorhanden()
  If ReadFile(1,GetCurrentDirectory()+"Adressen.db")=0
    CreateFile(1,GetCurrentDirectory()+"Adressen.db")
  EndIf 
  CloseFile(1)
EndProcedure

Procedure PruefeDatenbank_zu()
  If KDB : CloseDatabase(KDB) : EndIf
EndProcedure

PruefeDatenbank_vorhanden()

KDB.l=OpenDatabase(#PB_Any,GetCurrentDirectory()+"Adressen.db","","") 

If KDB
  If DatabaseUpdate(KDB.l,"CREATE TABLE Adresse (ID integer PRIMARY KEY, Anrede, Vorname, Nachname, Strasse, PLZ NUMERIC, Ort, Telef, Handy, Fax, Mail, Web)")
    NeuerAdressenEintrag()
  EndIf

  AlleDatenAnzeigen(KDB)
  
EndIf 

PruefeDatenbank_zu()
End
Grüsse
Marco

Re: SQL läuft nicht in EXE

Verfasst: 09.01.2008 11:53
von Kiffi
Marco hat geschrieben:Warum läuft das nicht als Executable, sondern nur im Compiler ? :cry:

destawegen:

Code: Alles auswählen

Debug UseSQLiteDatabase()
Vor dem Kompilieren werden alle Debug-Anweisungen entfernt.

Grüße ... Kiffi

Verfasst: 09.01.2008 12:11
von Marco
Danke Kiffi, aber funzt immer noch nicht :(
Habe alle Debug-Anweisungen entfernt.

Code: Alles auswählen

UseSQLiteDatabase() 

Global KDB.l

Procedure AndernAdresse(Nr.l, Spaltenname.s, Neu.s)
    DatabaseUpdate(KDB,"BEGIN TRANSACTION")
    DatabaseUpdate(KDB,"Update Adresse set "+Spaltenname+"='"+Neu+"' where ID="+Str(Nr))
    DatabaseUpdate(KDB,"COMMIT")
EndProcedure

Procedure AlleDatenAnzeigen(DB.l)
    If DB.l And DatabaseQuery(DB.l,"select * from Adresse") 
      OpenConsole()
      EnableGraphicalConsole(0)
      PrintN("AlleDatenAnzeigen")
      While NextDatabaseRow(DB.l) 
        MessageRequester("",GetDatabaseString(DB,2))
        For Spalte=0 To DatabaseColumns(DB)-1
            PrintN( DatabaseColumnName(DB, Spalte)+" : "+GetDatabaseString(DB,Spalte) )
        Next
      Wend 
      PrintN("Weiter mit beliebiger Taste")
      Input()
    EndIf
EndProcedure

Procedure NeuerAdressenEintrag()
  DatabaseUpdate(KDB.l,"Insert into Adresse (Vorname, PLZ) values('Muster', '99999')")
EndProcedure

Procedure PruefeDatenbank_vorhanden()
  If ReadFile(1,GetCurrentDirectory()+"Adressen.db")=0
    CreateFile(1,GetCurrentDirectory()+"Adressen.db")
  EndIf 
  CloseFile(1)
EndProcedure

Procedure PruefeDatenbank_zu()
  If KDB : CloseDatabase(KDB) : EndIf
EndProcedure

PruefeDatenbank_vorhanden()

KDB.l=OpenDatabase(#PB_Any,GetCurrentDirectory()+"Adressen.db","","") 
MessageRequester("KDB",Str(KDB))
If KDB
  If DatabaseUpdate(KDB.l,"CREATE TABLE Adresse (ID integer PRIMARY KEY, Anrede, Vorname, Nachname, Strasse, PLZ NUMERIC, Ort, Telef, Handy, Fax, Mail, Web)")
    NeuerAdressenEintrag()
  EndIf

  AlleDatenAnzeigen(KDB)
  
EndIf 

PruefeDatenbank_zu()
End
    
Grüsse
Marco

Danke Kiffi

Verfasst: 09.01.2008 12:25
von Marco
Geht doch :)
DANKE FÜR DIE SCHNELLE HILFE :)

Grüsse
Marco