关于android数据库cursor的一个问题

ydww 发布于 2012/03/04 13:28
阅读 1K+
收藏 0

在使用数据库时,当写入代码

dbhelper=new DatabaseHelper(SetDevice.this);
db=dbhelper.getWritableDatabase();
cursor=db.query("device", new String[]{"id"}, null,null,null,null,null);

时,出现错误

android.database.sqlite.SQLiteException: no such table: device: , while compiling: SELECT * FROM device

但经检查后,在我的数据库帮助类中已有下面代码

public void onCreate(SQLiteDatabase db) {
  // TODO Auto-generated method stub
  db.execSQL("CREATE TABLE room(id String, name String, type String)");
  db.execSQL("CREATE TABLE device(id String, name String, type String, whichroom String)");  
}

困惑的是,为什么错误提示老是说找不到table:device:呢?哪位高手帮看下

加载中
0
_凤求凰_
_凤求凰_
从这些代码上看不出是哪里的问题?或者你的数据库版本是不是高了?onupdate那个方法里面是否有删除数据库表结构的语句呢?
_凤求凰_
_凤求凰_
应该是你的sdk版本 没有跟配置文件里的对应起来吧。你应用的是1.6的包。改成4就应该没有问题。
ydww
ydww
很奇怪,我把Manifest.xml中的<uses-sdk android:minSdkVersion="7" />改为4后就正常了,请问这是什么原因呢?
0
鉴客
鉴客
表没有创建成功呗
0
雨焰
雨焰
你可以用doc命令查看你的的那个文件夹中是否有这个表,或者用eclipse的DDMS中的"文件浏览",查看你是否生成了那个数据库!两种方法任何一种都可以确定你的有没有创建成功!
ydww
ydww
很奇怪,我把Manifest.xml中的<uses-sdk android:minSdkVersion="7" />改为4后就正常了,请问这是什么原因呢?
0
雨焰
雨焰
额,你的sdk是哪个版本的啊?“4”这是1.几的版本,7是2.1的最低兼容版本号!你用的sdk是1.几的?
ydww
ydww
1.6的
返回顶部
顶部