---
title: "DB_Open | open.mp"
description: "此函数用于建立与`/scriptfiles`目录下的SQLite数据库文件的连接。"
canonical: https://omp.itsneufox.com/zh-CN/docs/scripting/functions/DB_Open_Modern
language: zh-CN
---

# DB\_Open

## 描述

此函数用于建立与`/scriptfiles`目录下的 SQLite 数据库文件的连接。

| 参数 | 说明 |
| --- | --- |
| const name\[\] | 数据库文件名（不含路径） |
| SQLITE\_OPEN:flags = SQLITE\_OPEN\_READWRITE | SQLITE\_OPEN\_CREATE | [权限标志](https://omp.itsneufox.com/zh-CN/docs/scripting/resources/sqlite-open-flags) |

## 返回值

返回数据库连接句柄索引（从 1 开始）。

## 示例

```c
static DB:gDBConnectionHandle;

// ...

public OnGameModeInit()
{
    // ...

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

    // 检测数据库连接状态
    if (gDBConnectionHandle)
    {
        print("成功连接数据库 \"example.db\"");
    }
    else
    {
        print("无法连接数据库 \"example.db\"");
    }

    return 1;
}

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

## 注意事项

注意

-   当指定数据库文件不存在时，将自动创建新数据库文件！
-   请务必使用[DB\_Close](https://omp.itsneufox.com/zh-CN/docs/scripting/functions/DB_Close_Modern)关闭数据库连接！

## 相关函数

-   [DB\_Open](https://omp.itsneufox.com/zh-CN/docs/scripting/functions/DB_Open_Modern): 建立 SQLite 数据库连接
-   [DB\_Close](https://omp.itsneufox.com/zh-CN/docs/scripting/functions/DB_Close_Modern): 关闭 SQLite 数据库连接
-   [DB\_ExecuteQuery](https://omp.itsneufox.com/zh-CN/docs/scripting/functions/DB_ExecuteQuery): 执行 SQL 查询语句
-   [DB\_FreeResultSet](https://omp.itsneufox.com/zh-CN/docs/scripting/functions/DB_FreeResultSet): 释放查询结果集内存
-   [DB\_GetRowCount](https://omp.itsneufox.com/zh-CN/docs/scripting/functions/DB_GetRowCount): 获取结果集行数
-   [DB\_SelectNextRow](https://omp.itsneufox.com/zh-CN/docs/scripting/functions/DB_SelectNextRow): 跳转至下一行
-   [DB\_GetFieldCount](https://omp.itsneufox.com/zh-CN/docs/scripting/functions/DB_GetFieldCount): 获取字段总数
-   [DB\_GetFieldName](https://omp.itsneufox.com/zh-CN/docs/scripting/functions/DB_GetFieldName): 通过索引获取字段名称
-   [DB\_GetFieldString](https://omp.itsneufox.com/zh-CN/docs/scripting/functions/DB_GetFieldString): 通过索引获取字符串数据
-   [DB\_GetFieldStringByName](https://omp.itsneufox.com/zh-CN/docs/scripting/functions/DB_GetFieldStringByName): 通过名称获取字符串数据
-   [DB\_GetFieldInt](https://omp.itsneufox.com/zh-CN/docs/scripting/functions/DB_GetFieldInt): 通过索引获取整型数据
-   [DB\_GetFieldIntByName](https://omp.itsneufox.com/zh-CN/docs/scripting/functions/DB_GetFieldIntByName): 通过名称获取整型数据
-   [DB\_GetFieldFloat](https://omp.itsneufox.com/zh-CN/docs/scripting/functions/DB_GetFieldFloat): 通过索引获取浮点数据
-   [DB\_GetFieldFloatByName](https://omp.itsneufox.com/zh-CN/docs/scripting/functions/DB_GetFieldFloatByName): 通过名称获取浮点数据
-   [DB\_GetMemHandle](https://omp.itsneufox.com/zh-CN/docs/scripting/functions/DB_GetMemHandle): 获取通过 DB\_Open 打开的 SQLite 数据库的内存句柄
-   [DB\_GetLegacyDBResult](https://omp.itsneufox.com/zh-CN/docs/scripting/functions/DB_GetLegacyDBResult): 获取通过 DB\_ExecuteQuery 执行的 SQLite 查询结果的内存句柄
-   [DB\_GetDatabaseConnectionCount](https://omp.itsneufox.com/zh-CN/docs/scripting/functions/DB_GetDatabaseConnectionCount): 调试用-数据库连接数统计
-   [DB\_GetDatabaseResultSetCount](https://omp.itsneufox.com/zh-CN/docs/scripting/functions/DB_GetDatabaseResultSetCount): 调试用-结果集数量统计

## 相关资源

-   [SQLite 权限标志说明](https://omp.itsneufox.com/zh-CN/docs/scripting/resources/sqlite-open-flags)
