当前位置:首页 > 数据库 > 正文

易语言如何操作数据库

易语言通过数据库支持库操作数据库,主要包括连接数据库、执行SQL语句(增删改查)以及处理返回的记录集数据。

易语言操作数据库的详细指南(基于Access/SQLite示例)

核心原理

易语言通过外部数据库支持库(如edb、mysql等)操作数据库,核心步骤包括:

  1. 连接数据库 → 2. 执行SQL指令 → 3. 处理结果集 → 4. 关闭连接

    以下以Access数据库(.mdb文件)和SQLite为例说明通用流程。


操作步骤详解

步骤1:准备工作

  1. 数据库准备

    易语言如何操作数据库 第1张

    • 创建Access数据库test.mdb,内含表users(字段:id, name, age)。
    • 或创建SQLite数据库test.db(表结构相同)。
  2. 易语言环境配置

    • 在易语言IDE中勾选支持库:工具支持库配置 → 启用 “数据库操作支持库”“SQLite3支持库”

步骤2:连接数据库(关键代码)

.版本 2 .支持库 eDB .支持库 sqlite3 .程序集 窗口程序集_启动窗口 .程序集变量 数据库连接, 数据库连接 .程序集变量 记录集, 记录集 .子程序 _按钮_连接_被单击 ' Access连接示例 数据库连接.连接Access (取运行目录 () + “test.mdb”, “”) ' 密码为空时留空 ' SQLite连接示例(需先启用sqlite3支持库) ' 数据库连接.连接SQLite (取运行目录 () + “test.db”, , , ) .如果真 (数据库连接.是否已连接 () = 假) 信息框 (“数据库连接失败!”, 0, , ) 返回 .如果真结束 信息框 (“连接成功!”, 0, , )

步骤3:执行SQL指令

① 插入数据

易语言如何操作数据库 第2张

② 查询数据

.子程序 _按钮_查询_被单击 记录集 = 数据库连接.取记录集 (“SELECT * FROM users WHERE age > 20”) .判断循环首 (记录集.是否已到尾 () = 假) 输出调试文本 (“ID:” + 记录集.读字段值 (“id”) + “, 姓名:” + 记录集.读字段值 (“name”)) 记录集.移到下一条 () .判断循环尾 () 记录集.关闭 ()

③ 更新/删除数据

' 更新示例 数据库连接.执行SQL (“UPDATE users SET age=30 WHERE name='张三'”) ' 删除示例 数据库连接.执行SQL (“DELETE FROM users WHERE id=5”)

步骤4:关闭连接

.子程序 _按钮_关闭_被单击 .(数据库连接.是否已连接 ()) 数据库连接.关闭 () 信息框 (“连接已关闭”, 0, , ) .否则 信息框 (“未连接数据库”, 0, , ) .如果结束


注意事项

  1. 防SQL载入

    易语言如何操作数据库 第3张

    • 使用参数化查询(易语言需调用参数置文本()等函数): .局部变量 参数表, 参数表 参数表.置文本 (“@name”, “李四”) 记录集 = 数据库连接.取记录集 (“SELECT * FROM users WHERE name=@name”, 参数表)
  2. 错误处理

    • 用取错误文本()捕获异常: .如果真 (数据库连接.执行SQL(SQL) = 假) 信息框 (“执行失败:” + 数据库连接.取错误文本(), 0, , ) .如果真结束
    • 数据库兼容性

      | 数据库类型 | 支持库 | 连接方法 |

      |————|—————-|———————-|

      | Access | eDB | 连接Access() |

      | SQLite | sqlite3 | 连接SQLite() |

      | MySQL | mysql支持库 | 连接MySql() |

      | SQL Server | ODBC或MSSQL库 | 连接ODBC() |

    • 常见问题解决

      • 连接失败:检查文件路径、权限、驱动(Access需安装Office驱动)。
      • 乱码问题:在连接字符串中添加字符集参数(如MySQL加?charset=utf8)。
      • 记录集越界:操作前用记录集.是否已到尾()和记录集.是否已到头()判断边界。

      引用说明:本文代码基于易语言5.9版本及官方支持库文档编写,数据库操作规范参考微软ODBC标准及SQLite官方语法,安全建议依据OWASP SQL载入防护指南。

0