资源介绍:
简易SQLite操作模块易语言源码例程程序调用API函数实现SQLite简易操作。
资源界面:
.版本 2
.子程序 ConnectSQL, 整数型, 公开
.参数 filename, 文本型
.参数 password, 文本型, 可空
.局部变量 path, 字节集
.局部变量 pDb, 整数型
.局部变量 ret, 整数型
path = AnsiToUTF8 (filename)
ret = sqlite3_open_v2 (path, pDb, 6, 0)
.如果真 (pDb ≠ 0 且 ret = #SQLITE_OK)
.如果真 (是否为空 (password) = 假)
sqlite3_key (pDb, password, 取文本长度 (password))
.如果真结束
返回 (pDb)
.如果真结束
返回 (0)
.子程序 DisconnectSQL, 逻辑型, 公开
.参数 database, 整数型
.如果真 (database ≠ 0)
.如果真 (sqlite3_close (database) = #SQLITE_OK)
返回 (真)
.如果真结束
.如果真结束
返回 (假)
.子程序 QuerySQL, 整数型, 公开
.参数 database, 整数型
.参数 SQL, 文本型
.局部变量 pStmt, 整数型
.局部变量 ret, 整数型
.局部变量 pszSQL, 字节集
.如果真 (database ≠ 0 且 取文本长度 (SQL) ≠ 0)
pszSQL = AnsiToUTF8 (SQL)
ret = sqlite3_prepare_v2 (database, pszSQL, -1, pStmt, 0)
.如果真 (ret = #SQLITE_OK 且 pStmt ≠ 0)
.如果 (sqlite3_step (pStmt) = #SQLITE_ROW)
返回 (pStmt)
.否则
sqlite3_finalize (pStmt)
.如果结束
.如果真结束
.如果真结束
返回 (0)
.子程序 GetSQLNextRow, 逻辑型, 公开
.参数 query, 整数型
.局部变量 ret, 整数型
.如果真 (query ≠ 0)
ret = sqlite3_step (query)
.如果 (ret = #SQLITE_DONE)
sqlite3_finalize (query)
.否则
.如果真 (ret = #SQLITE_ROW)
返回 (真)
.如果真结束
.如果结束
.如果真结束
返回 (假)
.子程序 GetSQLColumnCount, 整数型, 公开
.参数 query, 整数型
.如果真 (query ≠ 0)
返回 (sqlite3_column_count (query))
.如果真结束
返回 (0)
.子程序 GetSQLColumnData_Int, 整数型, 公开
.参数 query, 整数型
.参数 column, 整数型
.如果真 (query ≠ 0 且 column ≥ 0)
返回 (sqlite3_column_int (query, column))
.如果真结束
.子程序 GetSQLColumnData_Double, 双精度小数型, 公开
.参数 query, 整数型
.参数 column, 整数型
.如果真 (query ≠ 0 且 column ≥ 0)
返回 (sqlite3_column_double (query, column))
.如果真结束
.子程序 GetSQLColumnData_Text, 文本型
.参数 query, 整数型
.参数 column, 整数型
.如果真 (query ≠ 0 且 column ≥ 0)
返回 (sqlite3_column_text (query, column))
.如果真结束
.子程序 FreeSQLQuery, , 公开
.参数 query, 整数型
.如果真 (query ≠ 0)
sqlite3_finalize (query)
.如果真结束
.子程序 AnsiToUTF8, 字节集, 公开
.参数 Ansi文本, 文本型
.局部变量 Length, 整数型
.局部变量 AnsiLength, 整数型
.局部变量 UTF8Length, 整数型
.局部变量 UnicodeData, 字节集
.局部变量 UTF8Data, 字节集
AnsiLength = 取文本长度 (Ansi文本) + 1
Length = MultiByteToWideChar (936, 0, Ansi文本, AnsiLength, UnicodeData, 0)
.如果真 (Length = 0)
返回 ({ })
.如果真结束
UnicodeData = 取空白字节集 (Length + Length)
.如果真 (MultiByteToWideChar (936, 0, Ansi文本, AnsiLength, UnicodeData, Length + Length) = 0)
返回 ({ })
.如果真结束
UTF8Length = WideCharToMultiByte (65001, 0, UnicodeData, Length, UTF8Data, 0, 0, 0)
.如果真 (UTF8Length = 0)
返回 ({ })
.如果真结束
UTF8Data = 取空白字节集 (UTF8Length)
.如果真 (WideCharToMultiByte (65001, 0, UnicodeData, Length, UTF8Data, UTF8Length, 0, 0) = 0)
返回 ({ })
.如果真结束
返回 (UTF8Data)
资源作者:
易语言数据库教程
资源下载:
易语言高性能操作sqlite
sqlite写入字节集
易语言操作sqlit3+教程