SQLite3数据库操作类模块

易语言 2020-07-21 00:04:41

SQLite3数据库操作类模块

.子程序 连接, 逻辑型, 公开, 连接到一个指定的数据库,返回是否连接成功
.参数 参数_数据库文件, 文本型, 可空, 如果为空,表示创建一个内存数据库
.参数 参数_数据库密码, 文本型, 可空
.参数 参数_是否允许创建, 逻辑型, 可空, 在指定的数据库文件不存在的情况下,是否允许创建数据库(默认为假),如果为假则直接返回,否则返回是否创建并连接成功
.局部变量 部_是否存在, 逻辑型
.局部变量 部_文件地址, 字节集

部_是否存在 = 文件是否存在 (参数_数据库文件)
部_文件地址 = A2U (选择 (是否为空 (参数_数据库文件), “:memory:”, 参数_数据库文件))
.如果真 (是否为空 (参数_数据库文件) = 假 且 参数_是否允许创建 = 真 且 部_是否存在 = 假)
.如果真 (sqlite3_打开数据库 (部_文件地址, 集_数据库句柄, #SQLite_打开方式_创建, 0) ≠ #SQLite_状态_成功)
返回 (假)
.如果真结束
sqlite3_关闭数据库 (集_数据库句柄)
.如果真结束
.如果真 (sqlite3_打开数据库 (部_文件地址, 集_数据库句柄, #SQLite_打开方式_读写, 0) = #SQLite_状态_成功)
.如果真 (部_是否存在 = 假)
sqlite3_设置密码 (集_数据库句柄, 参数_数据库密码, 取文本长度 (参数_数据库密码))
返回 (真)
.如果真结束
' [sqlite3_验证密码]无论是否成功均返回0,所以不能用此命令来验证密码是否正确;
sqlite3_验证密码 (集_数据库句柄, 参数_数据库密码, 取文本长度 (参数_数据库密码))
返回 (执行SQL (“select name as title from sqlite_master where type='table'”)) ' 密码错误时是不允许执行SQL语句的;