如果运行程序的时候,在LogCat里面看到类似“the table [表名] is not exists。。。” 的提示,但是创建表的SQl语句又没有错误,那么很可能是onCreate的执行机制造成的。。。
程序在调用getReadableDatabase或getWritableDatabase时,会判断指定的数据库是否存在,如果已经存在,则不调用onCreate
所以程序如果已经运行过一次了,再修改创建表的SQL语句(比如修改了要创建的表的名称),覆盖安装的时候,新的建表SQL语句将不会被执行,那么就会报“the table [表名] is not exists。。。” 的错误
解决办法:
在Eclipse中打开DDMS视图,在File Explorer里面找到已经创建的数据库,删除,就ok了。(删除文件按钮在界面的右上角,是一个红色的减号)