Gesucht: MySQL-Modul, was nach möglichkeit auf jedem OS funk

Übersicht BlitzMax, BlitzMax NG Allgemein

Neue Antwort erstellen

BtbN

Betreff: Gesucht: MySQL-Modul, was nach möglichkeit auf jedem OS funk

BeitragSo, Jan 14, 2007 21:23
Antworten mit Zitat
Benutzer-Profile anzeigen
...tioniert. *grml*


Wie gesagt, da sind zwar ein paar MySQL-Module hier im Forum, aber irgendwie alle nur für Windows, was ich für meinen Server derbst unpraktisch finde.
Deshalb mal die frage, kennt wer ein MySQL-Modul, was mindestens auf Linux läuft?

Mit der Suche auf bb.com komme ich garnicht bis sehr schlecht klar, d.h. ich finde damit alles, nur nicht das was ich will.



Mfg
 

Dreamora

BeitragSo, Jan 14, 2007 22:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Meines Wissens gibt es keine, die nicht DLL basierend sind, weil sie komplett witzlos sind.

Ohne DLL kein Multithreading und ohne Multithreading kannst du MySQL Zugriff gleich knicken. (statisches einbinden der Bibliothek tötet den GC mehr oder weniger direkt wie Raknet und andere Experimente das leider schon aufzeigten und von Grund auf selbst die nötigen Libraries für MySQL schreiben anstatt die wirklichen nutzen ... nunja, nichts was ich wirklich machen tun wollte, noch jemand anders fürchte ich, da der Aufwand extrem ist)
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

BtbN

BeitragMo, Jan 15, 2007 14:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Ähm, es gibt auf auf anderen OS außer Windows entsprechungen für DLLs, so ist das ja nicht. Vondaher sollte das das kleinste problem sein.

Vertex

BeitragMo, Jan 15, 2007 20:59
Antworten mit Zitat
Benutzer-Profile anzeigen
http://vertex.dreamfall.at/mysql/mysql102.zip

Habe es schon erfolgreich unter Windows und Linux(Ubuntu) getestet.

mfg olli
vertex.dreamfall.at | GitHub

BtbN

BeitragMo, Jan 15, 2007 21:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Das sieht gut aus, haste zufällig nen kleines Beispielprogramm zur hand?

Vertex

BeitragDi, Jan 16, 2007 9:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
SuperStrict

Framework PUB.MySQL
Import BRL.StandardIO
Import BRL.PolledInput

Global MySQL  : TMySQL
Global Query  : String
Global Result : TMySQLResult
Global Row    : TMySQLRow

' Connect
MySQL = TMySQL.Create("localhost", "root", "secret", "highscore")
If Not MySQL Then
   Print("Error: Can't connect to 'highscore'")
   End
EndIf

' Show all entries
ShowAllEntries()
Print ""

' Insert 1 Entry
Query = "INSERT INTO `scores` "+ ..
        "(`name`, `points`) "+ ..
        "VALUES('test', '100')"
Result = MySQL.Query(Query)
If Not Result Then
   Print("Error: Query failed")
   Print(" "+MySQL.GetError())
   MySQL.Close()
   End
EndIf
Result.Free()

' Show all entries
ShowAllEntries()
Print ""

' Delete 1 Entry
Query = "DELETE FROM `scores` "+ ..
        "WHERE `name`='test'"
Result = MySQL.Query(Query)
If Not Result Then
   Print("Error: Query failed")
   Print(" "+MySQL.GetError())
   MySQL.Close()
   End
EndIf
Result.Free()

' Show all entries
ShowAllEntries()
Print ""

Print " -- Ready --"
MySQL.Close()
End

Function ShowAllEntries()
   Query = "SELECT * FROM `scores`"
   Result = MySQL.Query(Query)
   If Not Result Then
      Print("Error: Query failed")
      Print(" "+MySQL.GetError())
      MySQL.Close()
      End
   EndIf
   
   Print(String(Result.Rows)+" Entrys:")
   For Row = EachIn Result
      Print("Name:   "+Row.GetString(0))
      Print("Points: "+Row.GetInt(1))
   Next
   Result.Free()
End Function


Ist aber auch in der *.zip Datei vorhanden.

So wie ich es übrigens verstanden habe, ist libmysql.a nur eine Schnittstellenbeschreibung, die mit gelinkt wird(Linux und Windows) und libmysqlclient.a wird eh beim Installieren von MySQL unter Linux mit installiert. libmysql.dll ist hingegen notwendig unter Windows.

mfg olli
vertex.dreamfall.at | GitHub

BtbN

BeitragDi, Jan 16, 2007 17:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Jo, danke.
Das teil ist echt klasse.

Ein 'Import "-lmysqlclient"' reicht wimre eigentlich, braucht garkeine Statische lib.


Edit:

Ich habe TMySQL noch folgende Methode hinzugefügt, damit ich meine MySQL-Verbindung offen halten kann:

Code: [AUSKLAPPEN]
   Method Ping:Int()
      Return mysql_ping(MySQL)
   EndMethod


Finde die sollte da noch mit rein, da man die MySQL-Verbindung eventuell doch mal etwas länger aufrecht erhalten will.

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group