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.是否声明读写权限