Skip to main content

DB_ExecuteQuery

Description

The function is used to execute an SQL query on an opened SQLite database.

NameDescription
DB:dbThe database handle to query.
const query[]The query to execute.
OPEN_MP_TAGS:...Indefinite number of arguments of any tag.

Returns

The query result index (starting at 1) if successful, otherwise 0.

Examples

// entity_storage.inc

EntityStorage_SpawnAll(DB:connectionHandle)
{
// Select all entries in table "entities"
new DBResult:db_result_set = DB_ExecuteQuery(connectionHandle, "SELECT * FROM `entities`");

// If database result set handle is valid
if (db_result_set)
{
// Do something...

// Free the result set
DB_FreeResultSet(db_result_set);
}
}
// mode.pwn

#include <entity_storage>

static DB:gDBConnectionHandle;

// ...

public OnGameModeInit()
{
// ...

// Create a connection to a database
gDBConnectionHandle = DB_Open("example.db");

// If connection to the database exists
if (gDBConnectionHandle)
{
// Successfully created a connection to the database
print("Successfully created a connection to database \"example.db\".");
EntityStorage_SpawnAll(gDBConnectionHandle);
}
else
{
// Failed to create a connection to the database
print("Failed to open a connection to database \"example.db\".");
}

// ...

return 1;
}

public OnGameModeExit()
{
// Close the connection to the database if connection is open
if (DB_Close(gDBConnectionHandle))
{
// Extra cleanup
gDBConnectionHandle = DB:0;
}

// ...

return 1;
}

Notes

warning

Always free results by using DB_FreeResultSet!