Startseite › Foren › Deutsches LiveCode-Forum › Neuling mit Datenbankproblemen
- Dieses Thema hat 2 Antworten und 2 Teilnehmer, und wurde zuletzt aktualisiert vor 6 Jahren, 1 Monat von kkoob.
-
AutorBeiträge
-
-
August 26, 2018 um 13:24 Uhr #7160
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 mouseUpSo 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 mouseUpHier 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 -
August 26, 2018 um 19:21 Uhr #7166
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
-
August 26, 2018 um 23:36 Uhr #7171
Hallo Klaus,
danke für den prompten und passenden Tip zum Problem.
Andre Sprachen andre Sitten 😉
Gruß
Klaus
-
-
AutorBeiträge
- Du musst angemeldet sein, um auf dieses Thema antworten zu können.