@MySQLFetchColumnLocalTD
Syntax
@MySQLFetchColumnLocalTD(MySQLResultHandle;FNColumnNumber);
Beschreibung
Holt Spalte eines gespeicherten Ergebnises einer @MySQLQuery Anfrage.
In FN FNColumnNumber wird die Spaltennummer angegeben.
Zeitwerte werden in die locale Zeitzone konvertiert.
(Dies ist eine Workaround Funktion wegen der Zeitzonenprobleme in Notes/Domino!)
Return:
Im Erfolgsfall die abgefragte Spalten-Werte als Liste, andernfalls @Error;
Beispiel: @MySQLFetchColumnLocalTD(MySQLResultHandle;FNColumnNumber);
/* Beispiel: Einfache MySQL-Abfrage aus der Engine.
Das Skript stellt eine Verbindung zu einer MySQL-Datenbank her,
liest einen Datensatz aus der Tabelle testdb.amount,
übernimmt die Ergebniswerte in Variablen und gibt diese im Log aus. */
/* MySQL-Handle initialisieren. */
MySQLh:=@MySQLInit;
/* Fehlerstatus vorbelegen: 1 bedeutet Fehler bzw. noch keine erfolgreiche Verbindung. */
MySQLError:=1;
/* Prüfen, ob die Initialisierung des MySQL-Handles erfolgreich war. */
IF(@IsError(MySQLh)){
@LogReport(MySQLh;3);
}ELSE{
/* MySQL-Optionen setzen bzw. initialisieren. */
@MySQLOptions(MySQLh);
/* Verbindungsdaten für den MySQL-Server festlegen. */
MySQLUser:="MySQLConnector";
MySQLPassword:="ConnectorPassword";
MySQLDefaultDatabase:="testdb";
MySQLHost:="172.16.1.215";
/* Verbindung zur MySQL-Datenbank herstellen. */
Ret:=@MySQLConnect(MySQLh;MySQLHost;MySQLUser;MySQLPassword;MySQLDefaultDatabase);
/* Wenn die Verbindung fehlschlägt, Fehler protokollieren. */
IF(@IsError(Ret)){
@LogReport(Ret);
}ELSE{
/* Verbindung war erfolgreich; Fehlerstatus zurücksetzen. */
MySQLError:=0;}
/* Die Abfrage nur ausführen, wenn die Verbindung erfolgreich hergestellt wurde. */
IF(!MySQLError){
/* Datensatz mit einem bestimmten Namen aus der MySQL-Tabelle lesen. */
QueryStr:="SELECT ID,Name,ModTime FROM testdb.amount;";
/* Query ausführen und das Ergebnis-Handle in MySQLResH zurückgeben. */
Ret:=@MySQLQuery(MySQLh;QueryStr;MySQLResH);
IF(@IsError(Ret)){
@LogReport(Ret;3);}
/* Anzahl der von der Abfrage zurückgegebenen Zeilen ermitteln. */
NumRows:=@MySQLGetNumRows(MySQLResH);
@LogReport("NumRows:"+@Text(NumRows);3);
/* Es gibt ein Ergebnis. */
IF(NumRows>=1){
/* Erste Ergebnisspalten lesen und die Spaltenwerte in Variablen übernehmen. */
ThisQueryIDs:=@MySQLFetchColumn(MySQLResH;1);
ThisQueryNames:=@MySQLFetchColumn(MySQLResH;2);
ThisQueryModTimes:=@MySQLFetchColumnLocalTD(MySQLResH;3);
}ELSE{
/* Wenn kein Ergebnis gefunden wurde, Standardwerte setzen. */
ThisQueryIDs:=-1;
ThisQueryNames:="";
ThisQueryModTimes:=@AnyAllDay;
}
/* Ergebnis-Handle freigeben. */
MySQLResH:=@MySQLFreeResult(MySQLResH);
/* Die gelesenen bzw. gesetzten Ergebniswerte ausgeben. */
@LogReport("ThisQueryIDs :"+@Implode(@Text(ThisQueryIDs);", ");3);
@LogReport("ThisQueryNames :"+@Implode(ThisQueryNames;", ");3);
@LogReport("ThisQueryModTimes :"+@Implode(@Text(ThisQueryModTimes);", ");3);
}
/* MySQL-Verbindung schließen. */
MySQLh:=@MySQLClose(MySQLh);
}
/* MySQL-Thread-Kontext beenden bzw. aufräumen. */
@MySQLThreadEnd;
