Wago 750-881 und SQL

bytebold

Level-1
Beiträge
3
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

ich möchte mit einer Wago 750-881 und Codesys 2.3.9.25 Werte in eine SQL- Datenbank schreiben, die sich irgendwo im Netz befindet. Dazu habe ich das Beispiel von Wago benutzt.
Es funktioniert auch alles, jedoch weiß ich nicht, wie man Variable in das SQL- Statement einbringt.
Die Zusammensetzung des SQL- Statements sieht so aus:

asSqlStatement1[0] := 'INSERT INTO atable ';
asSqlStatement1[1] := '( aBool, aByte, aWord, aDint, aReal, ';
asSqlStatement1[2] := ' aString, aDT, aTime, aUdint ) ';
asSqlStatement1[3] := 'VALUES ';
asSqlStatement1[4] := '( TRUE, 17, 32333, 1111111,1.42, ';
asSqlStatement1[5] := ' $'Hallo$', $'2010-08-13 11:56:42$', $'13:12:57$', 62222 )';
asSqlStatement1[6] := ''; (* End of SQL-Statement *)

Ich möchte jetzt aber anstelle der festen Ziffern, wie z.B. 17 eine Variable angeben, die in die Datenbank geschrieben wird.

Weiß jemand, wie ich eine Variable im Statement einfügen kann ?

Vielen Dank, Gruß bytebold
 
Da es sich um einfache String Variablen handelt, kann hier die Concat Funktion zum zusammen fügen zweier Strings benutzt werden.
Mfg
Christoph Tiedeken
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Vielen Dank für die Antwort.

So habe ich das bereits gemacht, nur bei mehreren Werten wird es mit der Concat- Version schnell unübersichtlich, deshalb die Frage, ob man irgendwie die Variablen angeben kann.
Das ist meine bisherige Version:

strstring:='';
strString:= CONCAT(strString,'INSERT INTO data (value) VALUES (');
strString:= CONCAT(strString,REAL_TO_STRING(Temperatur_Ofen1));
strString:= CONCAT(strString,')');

Aber wie gesagt, bei mehreren Messwerten wird's schnell unübersichtlich.
Man könnte nun auch jeden einzelnen Messwert übertragen, aber warum Kompromisse eingehen, wenn es vielleicht eine andere Lösung gibt.
 
Betreffend dem unübersichtlich:
Ich hatte bei einer ähnlichen Anwendung dasselbe Problem, unzählige CONCATs ineinander. Ich hatte mir dann einen FB gemacht, dert 8 String-Eingänge hatte, und diese zusammengesetzt herausgegeben hat. Technisch gesehen das Gleiche, einfach viel übersichtlicher anzuwenden...
 
Zurück
Oben