Skip to content

SQL API (QueryManager)

GetConnection(connectionName)

Gets or creates a named database connection (cached per Lua state).

  • Returns: QueryManager
local db = GetConnection("GameDB")

QueryManager Methods

Method Description
Connect(dsn, user, pass) Open ODBC connection
ExecQuery(sql) Execute a SQL query
Fetch() Fetch next result row
Close() Close the query (not the connection)
GetResult(column) Get result by column name (string)
GetStringResult(column) Get string result
GetAsInteger(column) Get integer result
GetAsFloat(column) Get float result
GetAsInteger64(column) Get 64-bit integer result
GetAsString(column) Get string result (alternative)
GetAsBinary(column) Get binary data as string
BindParameterAsBinary(paramNum, data) Bind binary parameter
BindParameterAsString(paramNum, data) Bind string parameter
-- Example: Query player data
local db = GetConnection("GameDB")
db:Connect("MuOnline_GameDB", "sa", "password")
db:ExecQuery("SELECT Reset, MasterReset FROM Character WHERE Name = 'TestChar'")

if db:Fetch() then
    local resets = db:GetAsInteger("Reset")
    local mresets = db:GetAsInteger("MasterReset")
    LogAdd(LOG_BLUE, "Resets: " .. resets .. " MR: " .. mresets)
end

db:Close()