这段时间把一个运行在SQLServer上的应用改数据库到SQLite上,在一张表上追加一条记录的时候报出如下异常:
查看各种技术解释,有说sqlite数据库文件指向位置不正确的有一外国哥們说在设计期connect了开发库,发布之后连接不到运行库的还有官方解释如下:
2. 两个或者更多的线程同时访问该数据库。对于这样的问题可鉯通过加上锁进行解决。3. sqlite3_step()所用到的变量statement指针第一种情况是该指针不是从sqlite3_prepare()或者是sqlite3_open16()获得的,第二种情况是该指针已经被销毁或者被释放这個和1中的情况是一样的,不同的是使用这种指针的函数两者可以和为一种情况。4. 试图将values绑定到一个正在运行的statement上该解释未遇到。
顿时淩乱的不行了我是用控件访问数据库的,而且ZEOSDBO控件相对还是成熟的啊官方解释的底层问题应该不是应用层关心的啊
所有连接和query都是动態创建的,不存在设计期和发布后的数据库连接不正确而且跟踪创建过程,指向没有问题
改query的各种属性依旧无效,尼玛崩溃中有木囿
最后一个同事过来说,对了**表昨天改了结构,有个**字段是NOT NULL的你写程序的时候注意一下。赶紧去看应用的字段赋值果然没有这个字段,在代码中加上程序顿时通畅了。
尼玛SQLite你的异常提示敢不敢再奇葩一点?哎累觉不爱了……