sqlite错误琐事

本文详细解析了在Android应用中遇到的SQLite数据库调试问题,包括语法错误和重复调用getWritableDatabase导致的错误,并提供了相应的解决方案。通过实例演示,帮助开发者避免常见的开发陷阱。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

调试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.

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值