SQL API (QueryManager)¶
GetConnection(connectionName)¶
Gets or creates a named database connection (cached per Lua state).
- Returns:
QueryManager
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()
Help