首页 新闻 会员 周边 捐助

android sqlite AndroidRuntime(26888): android.database.sqlite.SQLiteException: no such table: androi

0
悬赏园豆:5 [待解决问题]

我用自己建好的数据库map.db在doc中用命令
adb push D:/map.db /data/data/com.map/databases/map.db把数据导入到项目中,

可以得到point表,
下面是Databasehelp类
public class DatabaseHelper extends SQLiteOpenHelper {
    private static final int VERSION = 1;
    //在SQLiteOepnHelper的子类当中,必须有该构造函数
    public DatabaseHelper(Context context, String name, CursorFactory factory,
            int version) {
        //必须通过super调用父类当中的构造函数
        super(context, name, factory, version);
        // TODO Auto-generated constructor stub
    }
    public DatabaseHelper(Context context,String name){
        this(context,name,VERSION);
    }
    public DatabaseHelper(Context context,String name,int version){
        this(context, name,null,version);
    }
    

    //该函数是在第一次创建数据库的时候执行,实际上是在第一次得到SQLiteDatabse对象的时候,才会调用这个方法
    @Override
    public void onCreate(SQLiteDatabase db) {
        // TODO Auto-generated method stub
        System.out.println("create table");
//        db.execSQL("CREATE  TABLE  point(id  integer PRIMARY KEY AUTOINCREMENT NOT NULL,Latitude  varchar(20),Longitude varchar(20))");
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        // TODO Auto-generated method stub
//        db.execSQL("DROP TABLE IF EXISTS point");
//        System.out.println("drop");
    }

这里是一个查询事件

class QueryListener implements OnClickListener{

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            DatabaseHelper dbHelper=new DatabaseHelper(MainActivity.this,"map.db");
            SQLiteDatabase db=dbHelper.getReadableDatabase();
            Cursor cursor=db.query("point", new String[]{"id", "Latitude","Longitude"}, "id=?", new String[]{"1"}, null, null, null);
            while(cursor.moveToNext());
            String Latitude=cursor.getString(cursor.getColumnIndex("Latitude"));
            System.out.println(Latitude);
        }

执行代码时会报错

黑暗&独舞的主页 黑暗&独舞 | 初学一级 | 园豆:195
提问于:2012-10-16 15:10
< >
分享
所有回答(2)
0

我没导入数据库,也是这个错误。你DatabaseHelper dbHelper=new DatabaseHelper(MainActivity.this,"map.db");这里已经指定了数据库了。主要是这个数据库怎么搞出来我很不明白

Michael Jackbin | 园豆:202 (菜鸟二级) | 2013-11-09 21:47

妈蛋,我的create table没加table

支持(0) 反对(0) Michael Jackbin | 园豆:202 (菜鸟二级) | 2013-11-09 21:52

还是错

支持(0) 反对(0) Michael Jackbin | 园豆:202 (菜鸟二级) | 2013-11-09 21:57
0

卸载APP后重新安装或者升级数据库版本号。不卸载的话,因为用的还是旧的版本号,openhelper不会再次调用创建数据库表的方法,卸载重新安装,或者升级版本号可以解决。

chengchengxuyuan | 园豆:202 (菜鸟二级) | 2016-07-14 11:00
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册