powerbuilder 与sqlite3数据库
2015-08-01 23:00
791 查看
今天要使用powerbuilder 读取医保日志 ,于是写了一个database.dll文件,用于访问sqlite3数据库。
database.dll这个文件使用万能vc++2005编绎,源码:www.sqlite.org中下载3.8.10版本
为了方便pb的使用,将sqlite*指针转化为long类型。
以下是导出的函数声明
后缀是16的函数为powerbuilder12.5中使用的UTF16编码格式,UTF8格式没有详细测试,powerbuilder9.0中没有详细测试,UTF8ToAnsiString(用于方便9.0的编码转换)
示例代码
我的文件备份下载 database.dll
database.dll这个文件使用万能vc++2005编绎,源码:www.sqlite.org中下载3.8.10版本
为了方便pb的使用,将sqlite*指针转化为long类型。
以下是导出的函数声明
function int sqlite3open_v2(string filename,ref long ppDb,int flags,string zVfs) library "database.dll" function int sqlite3open(string filename,ref long ppDb ) library "database.dll" function int sqlite3close_v2(long ppDb) library "database.dll" function int sqlite3close(long ppDb) library "database.dll" function int sqlite3open16(string filename,ref long db) library "database.dll" function int sqlite3exec(long db, string sql) library "database.dll" function string sqlite3errmsg16(long db) library "database.dll" function string sqlite3errmsg(long db) library "database.dll" function int sqlite3prepare16(long db,string sql,ref long pStmt) library "database.dll" function int sqlite3prepare(long db,string sql,ref long pStmt) library "database.dll" function int sqlite3step(long pStmt) library "database.dll" function int sqlite3finalize(long pStmt) library "database.dll" function string sqlite3column_text16(long pStmt,int iCol) library "database.dll" function string sqlite3column_text(long pStmt,int iCol) library "database.dll" function string sqlite3column_name16(long pStmt,int iCol) library "database.dll" function string sqlite3column_name(long pStmt,int iCol) library "database.dll" function longlong sqlite3last_insert_rowid(long db) library "database.dll" function int sqlite3changes(long db) library "database.dll" function int sqlite3data_count(long db) library "database.dll" function long UTF8ToAnsiString(string lpstring,ref string buff,long nBufflen ) library "database.dll"
后缀是16的函数为powerbuilder12.5中使用的UTF16编码格式,UTF8格式没有详细测试,powerbuilder9.0中没有详细测试,UTF8ToAnsiString(用于方便9.0的编码转换)
示例代码
long ret ,db,record string value ; ret = sqlite3open ("e:\\test.db",db) if(db=0) then end if parent.title = string(db) ret = sqlite3prepare(db,"Select * From table where xh > 1 ",record) do while(sqlite3step(record) =100) value = sqlite3column_text(record,5) loop string Fieldname; int iDataCount =0 ; iDataCount = sqlite3data_count(record) sqlite3finalize(record); sqlite3close (db)
我的文件备份下载 database.dll
相关文章推荐
- 【Android UI】ListView系列二(自定义Adapter订阅新闻栏目)
- thinkpad T430s 在win8上安装ubuntu双系统(UEFI开启)
- UE删除空行
- UIKit框架-11.控制器跳转(UIStoryboardSegue)
- VK Cup 2015 - Finals, online mirror F - Clique in the Divisibility Graph dp
- 将UE添加到右键菜单
- request.getParameter() request.getAttribute()的区别
- priority_queue使用
- STL学习记录(十六):Queue、Priority Queue
- UI03_LTView(继承UIView)和UIAlertView
- stringbuffer 和 stringbuilder的区别
- 源泉书签,今日更新: 编辑页面和删除页面的UI优化
- CocoaPods 的又一个小坑 required by `Podfile`
- UITabBar自定义方式四(中间无按钮)
- UITextField(可以输入文本),改变return样式,键盘回收,添加辅助视图
- UILabel
- The Longest Increasing Subsequence (LIS)
- UI02_UIButton和UITextField
- 浅谈String、StringBuffer、StringBuilder
- AVL树(模板题)—— POJ 3481 Double Queue