首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

Sqlite使用上的一个有关问题,求大牛们指点~

2012-04-06 
Sqlite使用上的一个问题,求大牛们指点~~现在发现使用Sqlite上的一个问题:sqlite3_open()打开数据库多次后

Sqlite使用上的一个问题,求大牛们指点~~
现在发现使用Sqlite上的一个问题:sqlite3_open()打开数据库多次后就不能成功执行 修改 和 插入 语句了?
我运行程序时执行了次:

C/C++ code
sqlite3_open("DClient.db",&db);//打开数据库//***读数据库表,sqlite3_prepare拿一些数据***//sqlite3_close(db);//关闭数据库

再执行次按钮事件修改数据:(执行失败)
C/C++ code
sqlite3_open("DClient.db",&db);//打开数据库r = sqlite3_exec(db,sSql,NULL,NULL,&errmsg);//修改数据sqlite3_close(db);//关闭数据库


如果我把打开数据库sqlite3_open("DClient.db",&db);放到初始化里面做,只打开一次。程序其他地方执行时直接执行sql语句,这是没问题的,能执行成功。 直接执行修改数据也能行的。

有没有什么方法能解决这个问题? 还是sqlite3_close(db);后还要执行什么释放操作的? 我读取下数据库,修改下数据库就行了啊,不需要一直去占着这个数据库啊。(同步的问题慢慢再说)

[解决办法]
close前要用释放sqlite3_finalize释放 sqlite3_prepare分配的那个stmt指针

热点排行