净坛腐儒
2016-06-14 04:41
采纳率: 43.8%
浏览 1.6k
已采纳

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条回答 默认 最新

  • threenewbee 2016-06-14 04:56
    已采纳

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

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • oWuHuaTianBao 2016-06-14 05:21

    。。。。。。。。。。

    评论
    解决 无用
    打赏 举报
  • qq_28514109 2016-06-14 05:28

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

    评论
    解决 无用
    打赏 举报
  • AttITuder_dpc 2016-06-14 06:59

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

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题