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卡中的,打开本地数据库时总是出现上图所示问题,还请各位前辈不吝赐教!谢谢!

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

。。。。。。。。。。

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

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