Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

FreeBASIC und MYSQL

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Harald Kaiser



Anmeldungsdatum: 06.05.2006
Beiträge: 16
Wohnort: Karlsruhe

BeitragVerfasst am: 20.05.2006, 15:28    Titel: FreeBASIC und MYSQL Antworten mit Zitat

Hallo!

Wer hat Erfahrung mit Mysql und Freebasic?
Gibt es evtl. Code-Beispiele die manchmal sehr helfen?
Ich frage erst einmal ganz allgemein ohne etwas spezielles. geschockt

Gruß Harry
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Michael Frey



Anmeldungsdatum: 18.12.2004
Beiträge: 2577
Wohnort: Schweiz

BeitragVerfasst am: 20.05.2006, 15:38    Titel: Antworten mit Zitat

Forensuche?
Link 1
Link 2

Etwas dunn, mal seh'n was es sonst noch gibt.

Edit:/
Link 3

Edit:/ 2:
Enlisches Forum:
Link 4
_________________
http://de.wikibooks.org/wiki/FreeBasic Jede Hilfe für dieses Buch ist Willkommen!
http://de.wikibooks.org/wiki/FreeBasic:_FAQ FAQ zu Freebasic (im Aufbau, hilfe Willkommen)
Neu mit Syntax Highlight
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
max06



Anmeldungsdatum: 05.12.2004
Beiträge: 390
Wohnort: Augsburg

BeitragVerfasst am: 20.05.2006, 16:42    Titel: Re: FreeBASIC und MYSQL Antworten mit Zitat

Harald Kaiser hat Folgendes geschrieben:
Hallo!

Auch Hallo lächeln

Harald Kaiser hat Folgendes geschrieben:
Wer hat Erfahrung mit Mysql und Freebasic?

Ich bin dein Mann bei Fragen zu MySQL lächeln

Harald Kaiser hat Folgendes geschrieben:
Gibt es evtl. Code-Beispiele die manchmal sehr helfen?

Sicher gibt es Beispiele; zum Beispiel im Freebasic-Ordner in examples/mysql. Ich glaube, damit solltest du dich am Anfang auseinandersetzen, bevor ich dir ne komplette Funktion liefere lächeln
Die in den Beispielen verwendeten Funktionen findest du in inc/mysql/mysql.bi (relativ weit unten).

Harald Kaiser hat Folgendes geschrieben:
Ich frage erst einmal ganz allgemein ohne etwas spezielles. geschockt

Ne allgemeine Antwort lächeln Aber du hast doch sicher ne Idee, wenn du MySQL verwenden willst.

Ich wünsche dir mal viel Glück und Durchhaltevermögen lächeln

Grüße
Florian

Ps: Zum Testen von MySQL Funktionen wirst du einen MySQL-Server brauchen. Quark48 kann dir da mit sicherheit weiterhelfen. Siehe seine Seite.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Harald Kaiser



Anmeldungsdatum: 06.05.2006
Beiträge: 16
Wohnort: Karlsruhe

BeitragVerfasst am: 22.05.2006, 17:10    Titel: Antworten mit Zitat

Danke für die schnellen Antworten. grinsen

Michael Frey bei deinen Links war etwas dabei was ich noch nicht gewusst habe.

Für max6189
ich möchte ein Kassenprogramm schreiben und habe dabei an MYSQL als Datenbankserver gedacht.
Läuft auch schon bei mir (localhost) und das erste select hat schon geklappt.
Was noch Probleme macht ist insert ich habe es probiert es gibt keine Fehlermeldung aber es wird nichts in die Tabelle geschrieben. Als Anweisung habe ich einen SQL-Befehl genommen, der mit dem Programm MyTab einwandfrei ging.
Es ist ganz schon umständlich die Dokumentation der C API für FB umzubauen (mal Variable mal Pointer).
Mit C habe ich noch nichts gemacht.

Gruß Harald
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
max06



Anmeldungsdatum: 05.12.2004
Beiträge: 390
Wohnort: Augsburg

BeitragVerfasst am: 23.05.2006, 00:04    Titel: Antworten mit Zitat

Ich könnte dir jetzt ne komplette Mysql-Routine liefern, falls du dies möchtest.
Sämtliche Mysql-Operationen werden durch diese Abgewickelt.

Beispiel:
Code:
temp=mysql("CONNECT")
variable=mysql("SELECT * FROM tabelle WHERE id=1;")
mysql("INSERT INTO tabelle (id, name) VALUES(1, "Flo");")
temp=mysql("DISCONNECT")


Desweiteren funktioniert diese Routine einwandfrei mit Windows und Linux; das einzige Problem besteht noch beim Empfangen von mehreren Werten gleichzeitig (noch nicht getestet, dürfte aber auf Grund der Programmstrucktur unmöglich sein).


Ich werde in absehbarer Zeit diese Routine mit einem ausgedehnten Beispiel im fb@rchiv online stellen, da auch andere User (sry Sebastian, habe schon sehr lange nicht mehr in meinen email-account geschaut...) Interesse an Mysql haben lächeln


Gute Nacht,

Florian
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
dreael
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 2529
Wohnort: Hofen SH (Schweiz)

BeitragVerfasst am: 23.05.2006, 08:06    Titel: Antworten mit Zitat

Früher für QB publiziert:

http://beilagen.dreael.ch/QB/MYSQL.BAS

Auf dem Windows-PC muss der ODBC-Treiber von MySQL installiert sein, firewallmässig Port 3306 zwischen Linux-MySQL-Server und Windows-Rechner.

Bestimmt wird man in FreeBasic auch direkt auf die ADO (Active Data Objects)/ODBC-Schnittstelle zugreifen können, ohne wie in QB ein temporäres .VBS generieren zu müssen -> die Win32-API-Profis hier im Forum sind also gefordert. :-)
_________________
Teste die PC-Sicherheit mit www.sec-check.net
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 23.05.2006, 13:17    Titel: Antworten mit Zitat

Hi,
v1ctor hat die VBScript-Nutzung per disphelper.bi vorgesehen, aber ich bin
erst zur Nutzung einer MsgBox(..) bzw. einer InputBox(..) gekommen:
http://forum.qbasic.at/viewtopic.php?t=2594
Ich würde gerne auf die WMI zugreifen, bin dort aber noch nicht erfolgreich gewesen..
An MySQL etc. kann ich nichts ausprobieren, da ich das nicht nutze.
Allerdings geht natürlich der Weg über WScript.Exe, der mir mehr liegt als CScript.Exe.
Das Skript zu erstellen ist nicht unbedingt schwer..
[Edit]
Vor Benutzung von disphelper.bi sollte diese unbedingt auf Schreibfehler geprüft werden:
http://www.freebasic.net/forum/viewtopic.php?t=2308&highlight=disphelper
v1ctor sind da wohl ein paar 'Schreibfehler' unterlaufen..
Gruß
ytwinky
_________________
v1ctor hat Folgendes geschrieben:
Yeah, i like INPUT$(n) as much as PRINT USING..
..also ungefähr so, wie ich GOTO..
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Harald Kaiser



Anmeldungsdatum: 06.05.2006
Beiträge: 16
Wohnort: Karlsruhe

BeitragVerfasst am: 24.05.2006, 20:00    Titel: Antworten mit Zitat

Hallo max61989
Ich bin schon neugierig auf deine MSQL-Routine happy .
Bei meinem Programmteil klappt es nun auch mit INSERT. Ich hatte das falsche Datumsformat und vergessen, daß die Stringvariablen zusätzlich noch Anführungszeichen enthalten müssen verlegen .

Also erst einmal vielen Dank

Gruß Harry
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

BeitragVerfasst am: 24.05.2006, 20:05    Titel: Antworten mit Zitat

War das n Tippfehler oder meinst du wirklich MSQL statt MySQL? Das gibts nämlich beides und es sind nicht die gleichen..
_________________
"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Harald Kaiser



Anmeldungsdatum: 06.05.2006
Beiträge: 16
Wohnort: Karlsruhe

BeitragVerfasst am: 24.05.2006, 20:34    Titel: Antworten mit Zitat

upps war ein Tippfehler ich meinte mysql.

Gruß Harry
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
max06



Anmeldungsdatum: 05.12.2004
Beiträge: 390
Wohnort: Augsburg

BeitragVerfasst am: 24.05.2006, 22:51    Titel: Antworten mit Zitat

Jo, kein Problem lächeln

Aber erst morgen; erstens bin ich Hundemüde, und zweitens sitze ich grad vor der Glotze, verzeih mir lächeln

Ich werde morgen den Link zum Code hier im Forum posten,

bis dahin


Florian (Schnarchend + Streichhölzer verwendend)


EDIT: Habe nun den Code hochgeladen; müsste verständlich sein lächeln
hier[/url]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Harald Kaiser



Anmeldungsdatum: 06.05.2006
Beiträge: 16
Wohnort: Karlsruhe

BeitragVerfasst am: 25.05.2006, 17:37    Titel: Antworten mit Zitat

Hallo max61989

Deine Routine ist spitze !!

Auf die Idee die Abfrage in eine Funktion zu verpacken bin ich leider nicht gekommen genausowenig wie print_error weinen .

Ein Vorschlag zu print_error:
Code:

sub print_error
    cls
    Print   "Fehlernummer: ";mysql_errno(db)  ' Fehlernummer und
    Print   "Meldung: ";*mysql_error(db)          ' MYSQL Fehlermeldung
    If res <> 0 then  mysql_free_result(res)     ' Speicher freigeben
    mysql_close( db )                                  ' Verbindung beenden
    sleep                                     
    end(1)
end sub

Die Fehlermeldungen von MySQL sind meistens sehr hilfreich.

Was meinst du übrigens mit " mehreren Werten gleichzeitig empfangen"?

Ich hoffe es macht dir nichts aus wenn ich schamlos bei dir abkupfere

Gruß Harry
Code:
Code:


Zuletzt bearbeitet von Harald Kaiser am 30.05.2006, 12:18, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
max06



Anmeldungsdatum: 05.12.2004
Beiträge: 390
Wohnort: Augsburg

BeitragVerfasst am: 25.05.2006, 18:18    Titel: Antworten mit Zitat

Harald Kaiser hat Folgendes geschrieben:
Deine Routine ist spitze !!

Thx lächeln

Also bei mysql_error(db) kam bei mir meistens ne ziemlich lange Zahlenkombi raus, aber kein Text. Mit dieser Zahl konnte ich rein gar nix anfangen; die Fehlernummer ist aufschlussreicher lächeln

Oha, hab ich etwas das mysql_free_result vergessen? Ausgerechnet das, was mir schon mal arge Kopfschmerzen bereitet hat? Werde ich sofort nachholen, versprochen lächeln

Es gibt ne Abfrage in der Form: SELECT nick FROM user
welche sämtliche Nicks aus dieser Tabelle anzeigt. In einem php-script würden diese Werte in nem Array gespeichert werden, die Funktion hat aber nur einen Rückgabewert...

Harald Kaiser hat Folgendes geschrieben:
Ich hoffe es macht dir nichts aus wenn ich schamlos bei dir abkupfere

Dafür hab ich die Funktion ja online gestellt, oder?

Viele Grüße und viel Spaß mit MySQL


Florian
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Harald Kaiser



Anmeldungsdatum: 06.05.2006
Beiträge: 16
Wohnort: Karlsruhe

BeitragVerfasst am: 25.05.2006, 18:44    Titel: Antworten mit Zitat

Hallo max61989

Die ziemlich lange Zahl ist ein Pointer auf den Text darum der *.
Das mit den Pointern hat mich seeeehr viel Zeit gekostet. das war auch ein Grund dafür, daß ich von C die Finger gelassen habe zum Beispiel Pointer auf Pointer war mir einfach zu verpointert.

Das mit dem Rückgabewert glaube ich gefunden zu haben:
Code:


 dim shared res as MYSQL_RES ptr        ' Zeiger auf das Resultat
 dim Aktuelle_Zeile as MYSQL_ROW ' Array auf die Spalteninhalte
 dim mysql_ergebnis  as integer  ' Rückgabewert einer MYSQL-Funktion 0 = Fehler, nicht 0 = OK
dim query as string: query="SELECT * FROM journal"  ' Das SQLstatement

'** Die Abfrage
    if mysql_real_query(db, query, len(query)) <> 0 then MySql_Fehler
    res = mysql_store_result( db )   '   Ergebnis der Abfrage vom Server

'** Auf die Werte in den Spalten zugreifen

    dim Anz_Zeilen as longint       ' Zeilenzahl der Abfrage kann riesig sein
    dim Anz_Spalten as integer      ' Anzahl der Spalten
    dim Spaltenstr as MYSQL_FIELD   ' Struktur der Felder
    dim as integer i,j

    Anz_Zeilen = mysql_num_rows(res)        ' Gesamtzahl der Zeilen holen
    Anz_Spalten = mysql_num_fields(res)     ' Die Spaltenzahl holen
    Aktuelle_Zeile =  mysql_fetch_row(res)  ' Die erste Zeile des Resultats
   
'** und anzeigen   
    for j = 1 to Anz_Zeilen
      print "Satz ";j
      for i = 0 to Anz_Spalten-1
          Spaltenstr = *mysql_fetch_field_direct(res,i)   ' Struktur de rSpalte
            print *Spaltenstr.name;"= ",                    ' Spaltennamen und
            print *Aktuelle_Zeile[i]                        ' Spalteninhalte ausgeben
      next i
      Aktuelle_Zeile = mysql_fetch_row(res)          ' Eine Zeile geht noch
    next j

'** Gibt den Speicherplatz des Resultates wieder frei
    mysql_free_result(res)         
    print "Speicher des Resultates von SELECT freigegeben"

Gruß Harry[/code]


Zuletzt bearbeitet von Harald Kaiser am 25.05.2006, 20:09, insgesamt 2-mal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

BeitragVerfasst am: 25.05.2006, 19:37    Titel: Antworten mit Zitat

Harald sei so gut und schreib
Code:
 und
um deinen code, dann kann man ihn besser erkennen und lesen zwinkern
_________________
"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Harald Kaiser



Anmeldungsdatum: 06.05.2006
Beiträge: 16
Wohnort: Karlsruhe

BeitragVerfasst am: 25.05.2006, 20:06    Titel: Antworten mit Zitat

THX

Ich habe gesehen, daß der Code unformatiert ist obwohl ich ihn formatiert abgesendet habe.

Danke für den Tipp.

Du passt ziemlich auf das ich nichts falsch mache zwinkern

Harry
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Harald Kaiser



Anmeldungsdatum: 06.05.2006
Beiträge: 16
Wohnort: Karlsruhe

BeitragVerfasst am: 25.05.2006, 20:10    Titel: Antworten mit Zitat

Holla

sieht doch viel besser aus. grinsen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

BeitragVerfasst am: 25.05.2006, 20:12    Titel: Antworten mit Zitat

ich hab nur gesehen dass da mal wieder jemand den code-tag vergessen hat und habs halt geschrieben, hilft glaub ich jedem zwinkern
_________________
"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Harald Kaiser



Anmeldungsdatum: 06.05.2006
Beiträge: 16
Wohnort: Karlsruhe

BeitragVerfasst am: 25.05.2006, 20:42    Titel: Antworten mit Zitat

mir hats geholfen habs nicht gekannt.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz