Action testbasecom(int iClient, int args)
{
char sBuffer[128];
Transaction hTxn = new Transaction();
FormatEx(sBuffer, sizeof(sBuffer), "SELECT `test_number1` FROM `test_table1`;");
hTxn.AddQuery(sBuffer);
FormatEx(sBuffer, sizeof(sBuffer), "SELECT `test_number2` FROM `test_table2`;");
hTxn.AddQuery(sBuffer);
FormatEx(sBuffer, sizeof(sBuffer), "SELECT `test_number3` FROM `test_table3`;");
hTxn.AddQuery(sBuffer);
g_hDatabase.Execute(hTxn, SQL_TxnCallback_Success, SQL_TxnCallback_Failure);
return Plugin_Handled;
}
public void SQL_TxnCallback_Success(Database hDatabase, any Data, int iNumQueries, DBResultSet[] hResults, any[] QueryData)
{
for (int i = 0; i < iNumQueries; i++) //iNumQueries - кол-во изначальных запросов в БД
{
if(hResults[i].FetchRow())
{
PrintToServer("======================");
hResults[i].Rewind();
while(hResults[i].FetchRow())
{
PrintToServer("Num (test_table%i): %i", i + 1, hResults[i].FetchInt(0));
}
}
}
}
public void SQL_TxnCallback_Failure(Database hDatabase, any Data, int iNumQueries, const char[] szError, int iFailIndex, any[] QueryData)
{
LogError("SQL_TxnCallback_Failure: %s", szError);
}