Über DataSource1 Zugriff auf eine Mysql-Datenbank bekommen

Spezielle Fragen zu PostgreSQL, MySQL, SQLite, SQL ...
Antworten
tb2268
Foriker
Beiträge: 4
Registriert: Do 18. Mai 2017, 12:21
Kontaktdaten:

Über DataSource1 Zugriff auf eine Mysql-Datenbank bekommen

Beitrag von tb2268 » Fr 21. Jul 2017, 17:20

Liebe Leserinnen und Leser,

in Gambas3 habe ich eine Datenbank-Verbindung Connection1 erstellt für meine Mysql-Datenbank und die zugehörigen Anmeldedaten eingegeben. Dort kann ich die einzelnen Tabellen und Inhalte einsehen.

Nun habe ich im Formular ein DataSource1 angelegt, über das ich Zugriff auf meine Tabelle erhoffe.

Unter Connection habe ich Connection1 ausgewählt und unter Table meine Tabelle.

Wenn ich nun meinen Code ausführen möchte, Kommt die Fehlermeldung Cannot open Database.

Ich gehe davon aus, dass wenn ich unter Datenbank-Verbindung Connection1 eingebe, dass ich dann auch Zugriff auf die Datenbank erhalten müsste.

Wo ist mein Denkfehler? Was muss ich tun um Zugriff auf die Datenbank zu erhalten? Muss ich an anderer Stelle nochmal meine Zugangsdaten eingeben, obwohl sie schon unter Verbindung gespeichert sind?

Bin absoluter Gambas-Anfänger und dankbar für jede Hilfe.

Vielen Dank im Voraus!

Benutzeravatar
gambi
Moderator
Beiträge: 214
Registriert: Mi 8. Mai 2013, 21:46
Kontaktdaten:

Re: Über DataSource1 Zugriff auf eine Mysql-Datenbank bekommen

Beitrag von gambi » Fr 21. Jul 2017, 19:52

Hallo tb2268,
es ist immer hilfreich, wenn du deinen Code hier postest oder dein Projekt hoch lädst. Ansonsten stochern wir etwas im Nebel :wink:

Mein Ansatz wäre aber die Connection nicht in der IDE zu setzen sondern im Code.
Ein Beispiel aus dem Wiki: http://gambaswiki.org/wiki/comp/gb.mysql
gambas code
Dim $hConnection As New Connection

  With $hConnection
    .Type = "mysql"
    .Port = "3306"
    .Host = "localhost"
    .User = "root"
    .Password = "mypass"
    .Name = "Gambas"
    .Open()
  End With

Siehe auch hier für den speziellen Umgang mit mySQL: http://gambaswiki.org/wiki/howto/database

gg

tb2268
Foriker
Beiträge: 4
Registriert: Do 18. Mai 2017, 12:21
Kontaktdaten:

Re: Über DataSource1 Zugriff auf eine Mysql-Datenbank bekommen

Beitrag von tb2268 » Sa 22. Jul 2017, 08:18

Hallo gambi,

vielen Dank für Deine Hilfe.

Es klappt nun soweit. Nun möchte ich, dass aus der Tabelle Kalo die gefilterten Nahrungsmittel (kleiner oder gleich 55 Kalorien) im DataBrowser1 ausgegeben werden. wie kann ich das realisieren? Ich vermute mal, dass ich ein Array erstellen muss und irgendwie an den DataBrowser1 übergeben.

Vielen Dank für Deine Hilfe im Voraus.

Code: Alles auswählen

' Gambas class file

Private $hConn As Connection
Public Sub GoConnect()
  Dim sName As String
  'Message("Bin in der Routine Datenbank öffnen")
  Try $hConn.Close
  sName = "Testdatenbank"
  With $hConn
    .Type = "mysql"
    .Host = "localhost"
    .Login = "tb2268"
    .Password = "meinPW"
    .Name = "Kalo"
  End With
  $hConn.Name = sName
  $hConn.Open
  'Message($hConn.Name)
  Catch
Message.Error(Error.Text)
End Sub


Public Sub Form_Open()
Dim sql As String
Dim res As Result

  $hConn = New Connection
  GoConnect  

sql = "Select Nahrungsmittel, Kcal From Kalo where Kcal <= 55 ORDER BY Nahrungsmittel ASC"  
res = $hConn.Exec(sql)


End

Benutzeravatar
gambi
Moderator
Beiträge: 214
Registriert: Mi 8. Mai 2013, 21:46
Kontaktdaten:

Re: Über DataSource1 Zugriff auf eine Mysql-Datenbank bekommen

Beitrag von gambi » Sa 22. Jul 2017, 14:18

Hallo tb2268,
baust du auch an einer Nahrungsmittel-App? Dann hast du vielleicht mein Gambas-Food-Info mit Zugriff auf die fddb schon ausprobiert.

Mit DBs habe ich mich bisher nur rudimentär beschäftigt und mit dem Databrowser bisher noch gar nicht :(
Ich kann dir deshalb nicht weiterhelfen, außer dir den Tip zu geben, auf http://gambas.8142.n7.nabble.com/ mal nach den Stichwörtern Databrowser oder Datasource zu suchen.

Viel Erfolg
gg

tb2268
Foriker
Beiträge: 4
Registriert: Do 18. Mai 2017, 12:21
Kontaktdaten:

Re: Über DataSource1 Zugriff auf eine Mysql-Datenbank bekommen

Beitrag von tb2268 » Sa 22. Jul 2017, 20:08

Hallo gambi,

vielen Dank für Deine Hilfe und den Link.

Ja, ich bastle auch an einer Nahrungsmittel-App. Genauer gesagt einem Ernährungstagebuch. Soll 3 große Funktionen haben:
1. Nahrungsmittel aus der Datenbank suchen und übernehmen nach 2.
2. Gegessene Nahrungsmittel mit Kalorien nach Tageszeit ein- und ausgeben und Tagessumme berechnen.
3. Körpergewicht ein und ausgeben.

Das Programm ist schon grob fertig, aber noch sehr umständlich zu bedienen. Man muss ständig zum Hauptmenü zurück wenn man eine neue Funktion aufrufen möchte.

Mir schwebt ein ähnliches Programm wie Kaloma vor, das es für Windoof gibt.

Viele Grüße

tb2268

Honsek
Foriker
Beiträge: 342
Registriert: Do 4. Okt 2007, 17:01
Kontaktdaten:

Re: Über DataSource1 Zugriff auf eine Mysql-Datenbank bekommen

Beitrag von Honsek » Mo 24. Jul 2017, 14:51

Hallo,

im Anhang liegt ein SQLite-Projekt. Das solltest Du Dir mal ansehen.

Mit flottem Gruß

Honsek
SQLite2XML.tar.gz
DB-Projekt
(63.61 KiB) 15-mal heruntergeladen
---> Wenn Du eine gute Antwort erwartest, musst Du sehr gut fragen!

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast