java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.mymail/com.example.mymail.FeedbackShow}: android.database.sqlite.SQLiteException: no such table: feedbacklist (code 1): , while compiling: SELECT _id, fcontent, fstar FROM feedbacklist ORDER BY _id。。
关键代码如下
public DbHelper(Context context) {
this(context,DATANAME, VERSION);
// TODO Auto-generated constructor stub
}
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
System.out.println("create a Database");
db.execSQL("create table contantslist(_id INTEGER PRIMARY KEY AUTOINCREMENT,username varchar(20),address varchar(20))");
db.execSQL("create table feedbacklist(_id INTEGER PRIMARY KEY AUTOINCREMENT,fcontent varchar(250),fstar float(10))");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
onCreate(db);
}
、、、、、、、、
DbHelper dbh=new DbHelper(FeedbackShow.this);
db=dbh.getReadableDatabase();
cursor=db.query("feedbacklist",new String[]{"_id","fcontent","fstar"},null, null, null, null,"_id");
运行游标之前还可以,加上游标语句之后就不行,不知道如何是好了
把VERSION改高一个版本试试,可能是代码编写顺序与程序运行的先后问题引起,数据库没创建。
可能的原因是
db.execSQL("create table contantslist(_id INTEGER PRIMARY KEY AUTOINCREMENT,username varchar(20),address varchar(20))");
db.execSQL("create table feedbacklist(_id INTEGER PRIMARY KEY AUTOINCREMENT,fcontent varchar(250),fstar float(10))");
上面这两条SQL是分两次写的,写完一条后运行了,然后又补上一个create table feedbacklist.。表结构变了,但版本version没有调高
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。