Home >Database >Mysql Tutorial >SQLite数据库报

SQLite数据库报

WBOY
WBOYOriginal
2016-06-07 15:42:191475browse

今天调试了一段代码,报-1错误(根据行、列名未找到对应的行、列)。第一感觉是对应的数据库是不是有问题,找了半天发现该有的行列都没有缺,行列名也没有写错。再以为是数据库结构变化, 需要重新安装应用程序,于是重新部署在手机上,还是报同样的错误。

今天调试了一段代码,报-1错误(根据行、列名未找到对应的行、列)。第一感觉是对应的数据库是不是有问题,找了半天发现该有的行列都没有缺,行列名也没有写错。再以为是数据库结构变化, 需要重新安装应用程序,于是重新部署在手机上,还是报同样的错误。

最后终于发现了问题,是自己的一个小失误:在定义Cursor时,query()函数的第二个参数要求填写对应的列名!Cursor返回的实际上是一个子表,并且剩下的一切查询结果都只根据这个子表来处理。所以即便原始数据库定义了行或列,如果Cursor返回的子表中不包含,也会导致报错!添加后,数据库回归正常。


PS:还有一个小技巧:当数据库中的数据由于某些原因不能作为txt文件直接存储在手机上的sd卡时(比如我现在开发的zWatch根本不可能存储任何文件),可以写一个函数把数据库中所有数据以日志的形式读取出来,再人工保存即可。百试不厌。

更小的细节:Log文件中 “/n” 不代表换行。。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn