Neuling mit Datenbankproblemen

Startseite Foren Deutsches LiveCode-Forum Neuling mit Datenbankproblemen

Ansicht von 2 Antwort-Themen
  • Autor
    Beiträge
    • #7160
      kkoob
      Teilnehmer

      Hallo liebe LiveCode Gemeinde,
      will mich schon einige Zeit mit LC auseinander setzen hatte aber bisher noch nicht die nötige Zeit dafür gefunden. Heute hat es endlich mal geklappt und da bleibe ich doch gleich an einem Problem hängen 🙁

      Goggeln brachte mir leider nicht den gewünschten Erfolg.

      Problem:
      Ich öffne eine MariaDB/MySQL Datenbank und erhalte einen ConnectionID zurück. Siehe QC
      on mouseUp
      — use a global variable to hold the connection ID so other scripts can use it
      global gConnectionID

      — set up the database connection parameters – edit these to change settings!!!
      put „MySQL“ into tDatabaseTyp
      put „localhost“ into tDatabaseAddress
      put „classicmodels“ into tDatabaseName
      put „root“ into tDatabaseUser
      put „“ into tDatabasePassword

      — connect to the database
      put revOpenDatabase(tDatabaseTyp, tDatabaseAddress, tDatabaseName, tDatabaseUser, tDatabasePassword) into tResult

      — check if it worked and display an error message if it didn’t
      — & set the connection ID global
      if tResult is a number then
      put tResult into gConnectionID
      answer info „Connected to the database.“ & cr & „Connection ID = “ & gConnectionID
      else
      put empty into gConnectionID
      answer error „Unable to connect to the database:“ & cr & tResult
      end if
      end mouseUp

      So weit , so gut. In den Variablen sehe ich auch, dass die ConnectionID „da“ ist.

      Jetzt will ich ganz banal eine Tabelle anzeigen lassen. Siehe QC

      on mouseUp
      put „SELECT * FROM customers“ into sql
      put revDataFromQuery(tab,return,gConnectionID,sql) into tResult
      put the number of lines of tResult into numbers
      set the dgtext of group „DataGrid1“ to tResult
      end mouseUp

      Hier erhalte ich die Fehlermeldung aus Zeile 3 „put revData….“:
      button „ReadLines“: execution error at line n/a (External handler execution error: revdberr,invalid connection id) near „revdberr,invalid connection id“

      In den Variablen hat die gConnectionID danach auch nichtmehr die ID von vorher sondern ihren Namen als Inhalt.

      Was mache ich falsch?

      Vielen Dank.

      Grüße
      Klaus

    • #7166
      Klaus Major
      Verwalter

      Hi Klaus,

      willkommen im Forum!

      Anders als in anderen Programmiersprachen, musst du eine globale variable in JEDEM Skript deklarieren,
      in dem Du sie benutzt! Also im zweiten MOUSUP Handler wurde sie noch nicht deklariert und initialisiert, daher hatte sie ihren Namen als Inhalt!

      So gehts:

      global gConnectionID 
      
      on mouseUp
        put "SELECT * FROM customers" into sql
        put revDataFromQuery(tab,return,gConnectionID,sql) into tResult
        put the number of lines of tResult into numbers
        set the dgtext of group "DataGrid1" to tResult
      end mouseUp

      Gruß

      Klaus

    • #7171
      kkoob
      Teilnehmer

      Hallo Klaus,

      danke für den prompten und passenden Tip zum Problem.

      Andre Sprachen andre Sitten 😉

      Gruß
      Klaus

Ansicht von 2 Antwort-Themen
  • Du musst angemeldet sein, um auf dieses Thema antworten zu können.