DB_GetLegacyDBResult
描述
该函数用于获取通过DB_ExecuteQuery执行的 SQLite 数据库查询结果的内存句柄。
参数名 | 说明 |
---|---|
DBResult:result | 数据库查询句柄(由DB_ExecuteQuery返回) |
返回值
返回数据库查询结果集句柄的内存地址(十六进制格式)。
示例
static DB:gDBConnectionHandle;
// ...
public OnGameModeInit()
{
// ...
// 建立数据库连接
gDBConnectionHandle = DB_Open("example.db");
if (gDBConnectionHandle)
{
// 执行数据库查询
new DBResult:result_set = DB_ExecuteQuery(gDBConnectionHandle, "SELECT * FROM `examples`");
print("成功连接数据库 \"example.db\"");
if (result_set)
{
// 输出传统查询结果内存句柄
printf("传统查询结果内存句柄: 0x%x", DB_GetLegacyDBResult(result_set));
DB_FreeResultSet(result_set); // 释放结果集
}
}
else
{
print("无法连接数据库 \"example.db\"");
}
return 1;
}
public OnGameModeExit()
{
// 关闭数据库连接
if (DB_Close(gDBConnectionHandle))
{
gDBConnectionHandle = DB:0; // 重置句柄
}
return 1;
}
注意事项
注意
使用非法的结果集句柄将导致服务器崩溃!请始终通过DB_ExecuteQuery获取有效的查询结果
相关函数
- DB_Open: 建立 SQLite 数据库连接
- DB_Close: 关闭 SQLite 数据库连接
- DB_ExecuteQuery: 执行 SQL 查询语句
- DB_FreeResultSet: 释放查询结果内存
- DB_GetRowCount: 获取结果集行数
- DB_SelectNextRow: 跳转至下一行数据
- DB_GetFieldCount: 获取字段总数
- DB_GetFieldName: 通过索引获取字段名称
- DB_GetFieldString: 通过索引获取字符串数据
- DB_GetFieldStringByName: 通过名称获取字符串数据
- DB_GetFieldInt: 通过索引获取整型数据
- DB_GetFieldIntByName: 通过名称获取整型数据
- DB_GetFieldFloat: 通过索引获取浮点数据
- DB_GetFieldFloatByName: 通过名称获取浮点数据
- DB_GetMemHandle: 获取数据库连接内存句柄
- DB_GetDatabaseConnectionCount: 调试用-获取数据库连接数
- DB_GetDatabaseResultSetCount: 调试用-获取结果集数量