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
        Administrator

          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.