@MySQLFetchColumn
Syntax
@MySQLFetchColumn(MySQLResultHandle;FNColumnNumber);
@MySQLFetchColumn(MySQLResultHandle;FNColumnNumber;FNVPR);
Description
Retrieves a column from the stored result of an @MySQLQuery request.
The column number is specified in FN FNColumnNumber.
If the optional parameter FN FNVPR is specified, the result is additionally returned in the variable associated with the VPR.
Return:
On success, the retrieved column values as a list; otherwise, @Error.
Example: @MySQLFetchColumn(MySQLResultHandle;FNColumnNumber);
/* Example: Simple MySQL query from the Engine.
The script establishes a connection to a MySQL database,
reads records from the table testdb.amount,
stores the result values in variables, and writes them to the log. */
/* Initialize the MySQL handle. */
MySQLh:=@MySQLInit;
/* Initialize the error status: 1 means error or no successful connection yet. */
MySQLError:=1;
/* Check whether the MySQL handle was initialized successfully. */
IF(@IsError(MySQLh)){
@LogReport(MySQLh;3);
}ELSE{
/* Set or initialize MySQL options. */
@MySQLOptions(MySQLh);
/* Define the connection data for the MySQL server. */
MySQLUser:="MySQLConnector";
MySQLPassword:="ConnectorPassword";
MySQLDefaultDatabase:="testdb";
MySQLHost:="172.16.1.215";
/* Establish the connection to the MySQL database. */
Ret:=@MySQLConnect(MySQLh;MySQLHost;MySQLUser;MySQLPassword;MySQLDefaultDatabase);
/* If the connection fails, log the error. */
IF(@IsError(Ret)){
@LogReport(Ret);
}ELSE{
/* The connection was successful; reset the error status. */
MySQLError:=0;}
/* Execute the query only if the connection was established successfully. */
IF(!MySQLError){
/* Read records from the MySQL table. */
QueryStr:="SELECT ID,Name,Amount,UID FROM testdb.amount;";
/* Execute the query and return the result handle in MySQLResH. */
Ret:=@MySQLQuery(MySQLh;QueryStr;MySQLResH);
IF(@IsError(Ret)){
@LogReport(Ret;3);}
/* Determine the number of rows returned by the query. */
NumRows:=@MySQLGetNumRows(MySQLResH);
@LogReport("NumRows:"+@Text(NumRows);3);
/* A result exists. */
IF(NumRows>=1){
/* Read the result columns and store the column values in variables. */
ThisQueryIDs:=@MySQLFetchColumn(MySQLResH;1);
ThisQueryNames:=@MySQLFetchColumn(MySQLResH;2);
ThisQueryAmounts:=@MySQLFetchColumn(MySQLResH;3);
ThisQueryUIDs:=@MySQLFetchColumn(MySQLResH;4);
}ELSE{
/* If no result was found, set default values. */
ThisQueryIDs:=-1;
ThisQueryAmounts:=0;
ThisQueryNames:=ThisQueryUIDs:="";
}
/* Free the result handle. */
MySQLResH:=@MySQLFreeResult(MySQLResH);
/* Output the retrieved or assigned result values. */
@LogReport("ThisQueryIDs :"+@Implode(@Text(ThisQueryIDs);", ");3);
@LogReport("ThisQueryNames :"+@Implode(ThisQueryNames;", ");3);
@LogReport("ThisQueryAmounts:"+@Implode(@Text(ThisQueryAmounts);", ");3);
@LogReport("ThisQueryUIDs :"+@Implode(ThisQueryUIDs;", ");3);
}
/* Close the MySQL connection. */
MySQLh:=@MySQLClose(MySQLh);
}
/* End or clean up the MySQL thread context. */
@MySQLThreadEnd;
Note : This text was machine-translated and may contain inaccuracies.
