Executeable erstellen und Datenbankzugriff funktioniert nicht mehr

Anfängerfragen zum Programmieren mit PureBasic.
9Chicane9
Beiträge: 2
Registriert: 03.04.2022 18:56

Executeable erstellen und Datenbankzugriff funktioniert nicht mehr

Beitrag von 9Chicane9 »

Hallo zusammen!

Verwende PureBasic seit einer Woche und zähle mich somit zu den blutigen Anfängern!

Die Sprache gefällt mir allerdings ganz gut und ich habe auch schon so einiges geschafft mit Hilfe der Beispiele.

Jetzt ist mir jedoch was aufgefallen, was ich nicht verstehe.
Mein Code läuft fehlerfrei wenn ich auf "Kompilieren/Starten" drücke.
Wenn ich jedoch eine .exe erzeuge (mit "executeable erstellen..."), dann fehlt einfach die komplette Datenbank Komponente.
Das heißt: OpenDatabase funktioniert nicht.

Warum?

Ich arbeite noch mit der Free Version. Ist das der Grund?

Code: Alles auswählen

   Define.s Waage, Brutto, Datum, Zeit, Einheit, Cycle
   If OpenDatabase(#db1, "host=xxx port=3306 dbname=Waagen", "xx", "xx", #PB_Database_MySQL)
     
     If DatabaseQuery(#db1, "SELECT * FROM gewicht Where terminalnr=" + StrU(Terminal))
       While NextDatabaseRow(#db1)
         Datum=GetDatabaseString(#db1, 3)
         Zeit=GetDatabaseString(#db1, 4)
         Brutto=GetDatabaseString(#db1, 7)
         Waage=GetDatabaseString(#db1, 13)
         Einheit=GetDatabaseString(#db1, 10)
         Cycle=GetDatabaseString(#db1, 15)
         SetGadgetText(#text1, "Waage " + Waage + "   Datum: " + Datum + "   Zeit: " + Zeit + "   Gewicht: " +Brutto + Einheit + "   Zyklus: " + Cycle)
       Wend
       FinishDatabaseQuery(#db1)
     EndIf
     CloseDatabase(#db1)
   Else
     MessageRequester("Fehler","Can't open database! " + DatabaseError())
   EndIf
   
Messagerequester bringt nur: "Can't open database! "
Benutzeravatar
HeX0R
Beiträge: 3042
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3
Kontaktdaten:

Re: Executeable erstellen und Datenbankzugriff funktioniert nicht mehr

Beitrag von HeX0R »

Andesdaf
Moderator
Beiträge: 2673
Registriert: 15.06.2008 18:22
Wohnort: Dresden

Re: Executeable erstellen und Datenbankzugriff funktioniert nicht mehr

Beitrag von Andesdaf »

Du musst bei MySQL-Datenbankzugriff die MariaDB-DLL im selben Verzeichnis wie die erstellte Executable ablegen, s. die von HeX0R verlinkte Hilfseite.
Win11 x64 | PB 6.20
9Chicane9
Beiträge: 2
Registriert: 03.04.2022 18:56

Re: Executeable erstellen und Datenbankzugriff funktioniert nicht mehr

Beitrag von 9Chicane9 »

Danke an HeX0R und Andesdaf!

JA, Ich hatte die Anleitung gelesen, aber irgendwie geglaubt, dass das nur bei Linux und OSX notwendig ist!
Mit der libmariadb.dll im selben Verzeichnis geht es tatsächlich wie im IDE!

Vielen Dank für die Hilfe
Benutzeravatar
mk-soft
Beiträge: 3855
Registriert: 24.11.2004 13:12
Wohnort: Germany

Re: Executeable erstellen und Datenbankzugriff funktioniert nicht mehr

Beitrag von mk-soft »

Damit es nicht später zum falschen path zur library kommt ...

Code: Alles auswählen


Macro GetProgramPath()
  GetPathPart(ProgramFilename())
EndMacro

path_libmariadb.s = GetProgramPath() + "libmariadb.dll"

CompilerIf Not #PB_Compiler_Debugger
  If Not UseMySQLDatabase(path_libmariadb)
    MessageRequester("Error", "Init Library " + path_libmariadb, #PB_MessageRequester_Error)
    ;TODO
  EndIf
CompilerElse
  If Not UseMySQLDatabase()
    MessageRequester("Error", "Init Library libmariadb", #PB_MessageRequester_Error)
    ;TODO
  EndIf
CompilerEndIf
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Antworten