android无法打开本地数据库
//查询信息**************************************************************
        Button checkInfo = (Button)this.findViewById(R.id.button3);
        checkInfo.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                String dbPath = Environment.getExternalStorageDirectory() + "/meninfo.db";
                File dbFile = new File(dbPath);
                if (!dbFile.exists()) {
                    DisplayToast("请先拷贝数据库!");
                    return;
                }

                SQLiteDatabase db = SQLiteDatabase.openDatabase(dbPath, null, SQLiteDatabase.OPEN_READWRITE);

                Cursor c = db.rawQuery("select * from meminfo where cardNO = 123", null);
                String name = c.getString(c.getColumnIndex("name"));
                ImageView photo = (ImageView)findViewById(R.id.imageView1);
                String photoPath =String.format("/picSrc/s%.bmp",name);
                Bitmap bitmap = getLoacalBitmap(photoPath);
                photo.setImageBitmap(bitmap);
            }
        });

    }

图片说明
代码如上,数据库是事先建好并拷贝到手机SD卡中的,打开本地数据库时总是出现上图所示问题,还请各位前辈不吝赐教!谢谢!

4个回答

可能的原因:数据库文件损坏,格式不正确;文件被其它程序打开或者锁定;sd卡有坏扇区,无法读取;没有权限。

a739924135
净坛腐儒 是权限问题,在应用中加一条语句配置权限就行了
3 年多之前 回复

。。。。。。。。。。

String myPath = DB_PATH + DB_NAME; 这样子来在、查找 方便

1.检查一下文件路径与log显示的路径是否一致,2.文件是否损坏,3.是否声明读写权限

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问