开发者社区> 问答> 正文

SQLite报错找不到数据表?报错

各位大虾,我在操作SQLite数据库时遇到了问题,之前已经创建好了表,后来又加了一张表

运行程序预加载数据时当从M表(没有内容)中查询没有出错,然后调用查询语句Cursor cursor =Mydb.query("RecommandContest", new String[]{"MAX(CId) AS MId"}, "UId = '"+UId+"'", null, "UId", null, null, null);if(cursor.moveToFirst())max=cursor.getInt(cursor.getColumnIndex("MId"));return max;时出错了,说找不到RecommandContest这个表

//一下是继承Helper的类,SQLiteManager是一个容纳数据库增删查改方法的类

public class SubContestDB extends SQLiteOpenHelper{

private static String DatabaseName = ConfigurationFiles.DatabaseName;
private SQLiteManager dbManager;

public SubContestDB(Context context){
super(context,DatabaseName,null,2);
}

@Override
public void onCreate(SQLiteDatabase db) {

dbManager = new SQLiteManager(db);
dbManager.createDepartmentTable();     //创建学院表
dbManager.createMajorTable();     //创建专业表
dbManager.createContestTypeTable();   //创建赛项类型表
dbManager.createContestLevelTable(); //赛项级别表
dbManager.createContestTable();   //创建赛项表
dbManager.createRecommandContestTable();//创建推荐赛项表
dbManager.createUserTable();   //创建用户表
dbManager.createContestApplyTable();   //创建赛项申请表
dbManager.createContestCollectTable();  //创建赛项收藏表
dbManager.createStudyNoteTable();       //创建学习笔记表
Log.i("Database", "SQLite onCreate!");
}


@Override
public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) {
// TODO Auto-generated method stub
dbManager.dropAllTables();
dbManager.createDepartmentTable();     //创建学院表
dbManager.createMajorTable();     //创建专业表
dbManager.createContestTypeTable();   //创建赛项类型表
dbManager.createContestLevelTable(); //赛项级别表
dbManager.createContestTable();   //创建赛项表
dbManager.createRecommandContestTable();//创建推荐赛项表
dbManager.createUserTable();   //创建用户表
dbManager.createContestApplyTable();   //创建赛项申请表
dbManager.createContestCollectTable();  //创建赛项收藏表
dbManager.createStudyNoteTable();       //创建学习笔记表
Log.i("SubContestDB", "删除了所有表");
}
}

展开
收起
爱吃鱼的程序员 2020-06-14 16:15:55 983 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    如果表名没错的话,你最好打开监视器,将整个表导出,使用SQLiteBrowser查看内容是否正常。回复<aclass='referer'target='_blank'>@Helloall:其他的表我也没有考虑权限的问题却可以用的呀,而且后加的这张表我对其插入数据和预加载查询其记录的时候没报错回复<aclass='referer'target='_blank'>@铁龙98:检查是否有权限访问它。如果没权访问也会导致返回无法找到或不可读信息。我在模拟器里面运行了,导出后表存在,而且insert语句成功插入数据到里面了

    2020-06-14 16:16:12
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
国产数据库研制人才培养实践 立即下载
阿里云&信通院《Serverless数据库技术研究报告》 立即下载
微信SQLite数据库损坏恢复实践 立即下载