跳到主要内容

DB_GetFieldFloatByName

描述

该函数通过字段名称从DB_ExecuteQuery分配的查询结果中获取浮点数值。

参数名说明
DBResult:result查询结果句柄(由DB_ExecuteQuery返回)
const field[]目标字段名称

返回值

以浮点数形式返回获取的字段值。

示例

// 示例模块

// ...

Float:Examples_CalculateSum(DB:dbConnectionHandle)
{
// 返回值变量
new Float:ret;

// 执行数据库查询
new DBResult:db_result_set = DB_ExecuteQuery(dbConnectionHandle, "SELECT `value` FROM `examples`");

if (db_result_set)
{
// 遍历结果集
do
{
// 将'value'字段的浮点数值累加到返回值
ret += DB_GetFieldFloatByName(db_result_set, "value");
}
while (DB_SelectNextRow(db_result_set)); // 跳转至下一行

// 释放结果集
DB_FreeResultSet(db_result_set);
}

return ret;
}
// 主游戏模式文件

// ...

#include <examples>

static DB:gDBConnectionHandle;

// ...

public OnGameModeInit()
{
// ...

// 建立数据库连接
gDBConnectionHandle = DB_Open("example.db");

if (gDBConnectionHandle)
{
print("成功连接数据库 \"example.db\"");
printf("计算结果总和: %f", Examples_CalculateSum(gDBConnectionHandle));
}
else
{
print("无法连接数据库 \"example.db\"");
}

return 1;
}

public OnGameModeExit()
{
// 关闭数据库连接
if (DB_Close(gDBConnectionHandle))
{
gDBConnectionHandle = DB:0; // 重置句柄
}
return 1;
}

注意事项

注意

使用非法的结果集句柄将导致服务器崩溃!请始终通过DB_ExecuteQuery获取有效的查询结果

相关函数