Datasource, Databrowser MySQL Daten schreiben

Spezielle Fragen zu PostgreSQL, MySQL, SQLite, SQL ...
Antworten
ProdMann
Foriker
Beiträge: 2
Registriert: Mo 28. Aug 2017, 13:34
Kontaktdaten:

Datasource, Databrowser MySQL Daten schreiben

Beitrag von ProdMann » Mo 28. Aug 2017, 14:14

Hallo, ich bin neu hier und noch relativ am Anfang mit meinen Gambas-Kenntnissen.

Ich habe eine bestehende MariaDB (MySQL-) Datenbank im Intranet. Auf diese kann ich problemlos zugreifen und die Daten im Databrowser anzeigen.

Wie kann ich die Databrowser-Control nutzen, um die Daten in die Datenbank zu schreiben?

Ich glaube, mit fehlt nur eine kleine Idee. Ich konnte nach langer Recherche dazu nichts finden.

Hat jemand einen Link oder eine Idee, die mir weiterhilft?

Vielen Dank und herzlcihe Grüße

Hier mein Code: gambas code
  Public Sub Button1_click()
    Dim $hConn As New Connection  
    $PW = Textbox2.text                 'einfache Abfrage von Nutzer und PW für die Datenbank 
    $Name = Textbox1.text
    Frame1.Visible = False
    DataSource1.Visible = False
    Label1.text = "Name"
    Label2.text = "Passwort"
    TextBox1.SetFocus

    With $hConn                                  'Datenbank Zugriffsdaten
      .Type = "mysql"
      .Host = "server.local"
      .Port = "3306" 
      .Login = $Name
      .Password = $PW
      .Name = "Production"
    End With

    Try $hConn.Open                           'Datenbank öffnen
    If Error Then 
      Print "Cannot Open Database. Error = "; Error.Text
      Frame1.Visible = True
      Label2.text = "Try again please"
    TextBox2.text = ""
   Else
     DataSource1.Visible = True                         'Datasource-Rahmen anzeigen und mit Daten füllen
     DataSource1.Connection = $hConn
     DataSource1.Table = "SELECT `Product`,`ProductionDate`,`Quantity`,`WorkersName`,`hours` FROM `ProductionStep1` order by `Id` DESC LIMIT 10"
     DataBrowser1.SetFocus                              'DataBrowser in Focus setzen     
   Endif

End
                                    'Bis hierher funktioniert alles.

                                    'Und dann fehlt mit die Information, wie ich weiter mache. 

Public Sub DataBrowser2_...... '(Speichern, Ändern, Löschen - Control auswerten????)

Datasource2.Save()        '????? 



End





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

Re: Datasource, Databrowser MySQL Daten schreiben

Beitrag von gambi » Mo 28. Aug 2017, 20:26

Hallo ProdMann,
willkommen im Forum :D

Um ein DataBrowser editierbar zu bekommen, musst du es editierbar setzen: DataBrowser1.Editable = True.

Wenn du auch noch den Wert des Eintrags bzw. Zeile und Spalte, in der der Eintrag erfolgte auswerten möchtest, z.B. zwecks Überprüfung auf zugelassene Werte, dann benötigst du das Data-Event :
gambas code
Public Sub DataBrowser1_Data(Row As Integer, Column As Integer, Value As Variant)

 ' tue etwas...   
End
Hoffe, das hilft.

gg

ProdMann
Foriker
Beiträge: 2
Registriert: Mo 28. Aug 2017, 13:34
Kontaktdaten:

Re: Datasource, Databrowser MySQL Daten schreiben

Beitrag von ProdMann » Di 29. Aug 2017, 13:24

Vielen Dank für die schnelle Antwort. Die hat zum Nachdenken angeregt.
Mein Fehler war, das ich die DataSource mit einem SELECT-Befehl gefüllt habe. Das geht in der Darstellung.
Rekursiv mit der Datenbank verbunden ist die Darstellung (z.B. DataBrowser) via DataSource nur, wenn die Datenbank mit
gambas code
DataSource1.Table = "Tabellenname" 
-also 1:1- verknüpft wird.
Dann funktionieren die Controls (Speichern, Löschen, etc) ohne weiteren Code.

P.S. in meinem Code-Schnipsel sind die Indexe 2 und 1 teilweise durcheinander, weil ich den Code nur auszugsweise kopiert hatte.

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste