sqlite错误琐事

调试sqlite数据库,出现两个错误

其一:类似于这种错误,near")"

Error on startup: android.database.sqlite. SQLiteException: near “)”: syntax error: CREATE TABLE table1(id INTEGER PRIMARY KEY, name TEXT));

网上只有一个StackOverFlow上的一个解释,创建表的时候少了一个“)”,靠。

原文如下,希望下次碰到的兄弟能有个中文的解释。

http://cache.baidu.com/c?m=9d78d513d9901df918b0cf281a17a771192397624c8183532c84c009c4735a31506694ac265251478d9e3a3016ae394bea872173474263e9c08edf5ddccbc5627edf65722b41da5613a30eaeb85125b07cc709a9b81996adf14187e9928dd00e158c11127bf3ed961b46479b36ad5066a3f2c715504810cdbc6d3ae21a307ede651beb1bb8fd34650483f1dc5751946a903c5180af43ed6205b565e559486402e70ea60827756cb60f7aa4122a04e4bd0ea179291362e15fb3cf80f5b513ca8bfd31eebb88f174d337b18fbbae33042b0fa632bedde1e56e245202af8b954a8261f6edeccc1ba9548a&p=8b2a9002908633e609bd9b780f55&user=baidu&fm=sc&query=android.database.sqlite.SQLiteException%3A+near+%22%29%22%3A&qid=a83aeea80ada60bd&p1=1

没办法,只能是百度快照了,呵呵。

其二:

Caused by: java.lang.IllegalStateException: getWritableDatabase called recursively

这个问题是由于在DateHelper的OnCreate中直接使用了SQLiteDatabase db = this.getWritableDatabase();

显而易见,其实直接使用onCreate(SQLiteDatabase db)中的db就可以了,呵呵

记住,千万别在OnCreate中db.close();这样的话就会得到一个不能打开的数据库了,报错提示是can not open.

猜你喜欢

转载自dingran.iteye.com/blog/1439584