【2025年8月最新动态】随着国产编程语言生态的持续完善,易语言对SQL数据库的支持已达到新高度,据开发者社区反馈,最新版的易语言已原生支持MySQL、SQLite等主流数据库的无缝对接,让数据存储与处理变得更加简单高效。
SQL数据库作为最常用的数据存储方案,在易语言开发中扮演着重要角色,无论是开发进销存系统、会员管理系统,还是简单的数据记录工具,掌握SQL数据库操作都是易语言开发者的必备技能。
易语言通过内置的数据库支持库,让开发者可以用中文命令轻松操作各种SQL数据库,大大降低了数据库编程的门槛,下面我们就从基础开始,一步步教你如何在易语言中使用SQL数据库。
对于初学者,推荐从SQLite开始:
如果你需要更强大的数据库,可以考虑:
以SQLite为例,连接数据库的代码非常简单:
.版本 2
.支持库 sqlite3
.子程序 连接数据库
局部变量 数据库句柄 为 整数型
局部变量 数据库路径 为 文本型
数据库路径 = 取运行目录 () + "\test.db"
如果真 (SQLite打开 (数据库路径, 数据库句柄) = 假)
信息框 ("数据库连接失败!", 0, , )
返回 ()
结束 如果真
信息框 ("数据库连接成功!", 0, , )
SQLite关闭 (数据库句柄)
.子程序 创建用户表
局部变量 SQL语句 为 文本型
局部变量 执行结果 为 逻辑型
SQL语句 = "CREATE TABLE IF NOT EXISTS 用户表 (" + #换行符 +
" ID INTEGER PRIMARY KEY AUTOINCREMENT," + #换行符 +
" 姓名 TEXT NOT NULL," + #换行符 +
" 年龄 INTEGER," + #换行符 +
" 注册时间 TEXT DEFAULT (datetime('now','localtime'))" + #换行符 +
");"
执行结果 = SQLite执行SQL (数据库句柄, SQL语句)
如果真 (执行结果 = 假)
信息框 ("创建表失败:" + SQLite取错误文本 (数据库句柄), 0, , )
结束 如果真
.子程序 添加用户
局部变量 SQL语句 为 文本型
SQL语句 = "INSERT INTO 用户表 (姓名, 年龄) VALUES ('张三', 25);"
如果真 (SQLite执行SQL (数据库句柄, SQL语句) = 假)
信息框 ("添加用户失败!", 0, , )
否则
信息框 ("用户添加成功!", 0, , )
结束 如果真
.子程序 查询所有用户
局部变量 SQL语句 为 文本型
局部变量 记录集句柄 为 整数型
局部变量 姓名 为 文本型
局部变量 年龄 为 整数型
SQL语句 = "SELECT 姓名, 年龄 FROM 用户表;"
如果真 (SQLite取记录集 (数据库句柄, SQL语句, 记录集句柄) = 假)
信息框 ("查询失败!", 0, , )
返回 ()
结束 如果真
.判断循环首 (SQLite到下一行 (记录集句柄))
姓名 = SQLite取文本 (记录集句柄, 0)
年龄 = SQLite取整数 (记录集句柄, 1)
输出调试文本 ("姓名:" + 姓名 + ",年龄:" + 到文本 (年龄))
.判断循环尾 ()
SQLite释放记录集 (记录集句柄)
.子程序 安全添加用户
局部变量 SQL语句 为 文本型
局部变量 参数表 为 SQLite参数表
SQL语句 = "INSERT INTO 用户表 (姓名, 年龄) VALUES (?, ?);"
参数表.添加文本 ("姓名", "李四")
参数表.添加整数 ("年龄", 30)
如果真 (SQLite执行参数化SQL (数据库句柄, SQL语句, 参数表) = 假)
信息框 ("添加用户失败!", 0, , )
结束 如果真
.子程序 批量添加用户
局部变量 用户列表 为 文本型[]
局部变量 i 为 整数型
用户列表 = {"王五", "赵六", "钱七"}
SQLite开始事务 (数据库句柄)
.计次循环首 (取数组成员数 (用户列表), i)
如果真 (SQLite执行SQL (数据库句柄, "INSERT INTO 用户表 (姓名) VALUES ('" + 用户列表[i] + "');") = 假)
SQLite回滚事务 (数据库句柄)
信息框 ("添加用户失败,已回滚!", 0, , )
返回 ()
结束 如果真
.计次循环尾 ()
SQLite提交事务 (数据库句柄)
信息框 ("批量添加用户成功!", 0, , )
.子程序 备份数据库
局部变量 备份路径 为 文本型
备份路径 = 取运行目录 () + "\backup_" + 时间到文本 (取现行时间 (), 1) + ".db"
如果真 (SQLite备份数据库 (数据库句柄, 备份路径) = 假)
信息框 ("备份失败!", 0, , )
否则
信息框 ("数据库已备份到:" + 备份路径, 0, , )
结束 如果真
Q:易语言支持哪些SQL数据库? A:易语言原生支持SQLite,通过第三方支持库可以连接MySQL、SQL Server、Oracle等主流数据库。
Q:如何提高数据库查询性能? A:1) 为常用查询条件建立索引;2) 避免使用SELECT *;3) 合理使用事务;4) 对大数据量查询进行分页处理。
Q:数据库连接失败怎么办? A:1) 检查数据库服务是否启动;2) 确认连接字符串正确;3) 检查网络连接(远程数据库);4) 确认有足够的访问权限。
下面我们用一个完整的通讯录小程序展示SQL数据库在实际开发中的应用:
.版本 2
.支持库 sqlite3
.支持库 iext
.程序集 通讯录程序
.程序集变量 数据库句柄 为 整数型
.子程序 _启动子程序
初始化数据库 ()
加载主窗口 ()
.子程序 初始化数据库
局部变量 数据库路径 为 文本型
数据库路径 = 取运行目录 () + "\contacts.db"
如果真 (SQLite打开 (数据库路径, 数据库句柄) = 假)
信息框 ("数据库连接失败!", 0, , )
结束 ()
结束 如果真
' 创建联系人表
SQLite执行SQL (数据库句柄, "CREATE TABLE IF NOT EXISTS 联系人 (" + #换行符 +
"ID INTEGER PRIMARY KEY AUTOINCREMENT," + #换行符 +
"姓名 TEXT NOT NULL," + #换行符 +
"电话 TEXT," + #换行符 +
"地址 TEXT," + #换行符 +
"备注 TEXT" + #换行符 +
");")
.子程序 加载主窗口
局部变量 主窗口 为 窗口
局部变量 联系人列表 为 超级列表框
' 创建窗口和控件
主窗口.创建 (, "简易通讯录", , , 600, 400)
联系人列表 = 主窗口.创建控件 ("超级列表框", 10, 10, 580, 340)
' 设置列表样式
联系人列表.置列数 (4)
联系人列表.置列标题 (0, "ID")
联系人列表.置列标题 (1, "姓名")
联系人列表.置列标题 (2, "电话")
联系人列表.置列标题 (3, "地址")
' 加载数据
刷新联系人列表 (联系人列表)
主窗口.显示模态 ()
.子程序 刷新联系人列表
参数 列表控件 为 超级列表框
局部变量 记录集句柄 为 整数型
局部变量 索引 为 整数型
列表控件.清空 ()
如果真 (SQLite取记录集 (数据库句柄, "SELECT ID, 姓名, 电话, 地址 FROM 联系人 ORDER BY 姓名;", 记录集句柄))
.判断循环首 (SQLite到下一行 (记录集句柄))
索引 = 列表控件.插入表项 (-1, , , , , )
列表控件.置标题 (索引, 0, SQLite取文本 (记录集句柄, 0))
列表控件.置标题 (索引, 1, SQLite取文本 (记录集句柄, 1))
列表控件.置标题 (索引, 2, SQLite取文本 (记录集句柄, 2))
列表控件.置标题 (索引, 3, SQLite取文本 (记录集句柄, 3))
.判断循环尾 ()
SQLite释放记录集 (记录集句柄)
结束 如果真
掌握了SQL数据库在易语言中的基本操作后,你可以进一步学习:
数据库操作是编程中最需要谨慎对待的部分之一,养成良好的习惯:定期备份、使用事务、参数化查询、及时释放资源,这些都将帮助你开发出更加稳定可靠的易语言应用程序。
本文由 寻可可 于2025-08-05发表在【云服务器提供商】,文中图片由(寻可可)上传,本平台仅提供信息存储服务;作者观点、意见不代表本站立场,如有侵权,请联系我们删除;若有图片侵权,请您准备原始证明材料和公证书后联系我方删除!
本文链接:https://vps.7tqx.com/wenda/540364.html
发表评论