我是按照在外部寫的資料庫然后匯入資料庫的步驟 將資料庫放到assets檔案夾下 但是一直報的錯誤就是找不到這個表 我把資料庫檔案匯出 明明是有這個表的 我把代碼換成查找android_metadata(網上說是默認表)這個時候就不會出錯 能找到表 網上找了各種方法 都行不通
這個是查詢按鈕的代碼 單步跟蹤到 Cursor cursor=database.rawQuery(ssql,null);這一步的時候會出錯 然后就是那個錯誤提示
public void onClick(View v){
switch (v.getId()){
case R.id.button3:
zhiling=etext.getText().toString();
text.setText(zhiling);
SQLiteDatabase database=SQLiteDatabase.openDatabase(DB_PATH+DB_NAME,null,SQLiteDatabase.OPEN_READONLY);
String ssql="select * from "+KEY_shuju+" where "+KEY_name+"='"+zhiling+"'";
Cursor cursor=database.rawQuery(ssql,null);
if(cursor!=null && cursor.getCount()>0){
while(cursor.moveToNext()){
jieguo=cursor.getString(cursor.getColumnIndex("neirong"));
}
text2.setText(jieguo);
}
else{
text.setText("沒有這條指令!");
text2.setText("");
}
break;
case R.id.button4:
etext.setText("");
text2.setText("");
text.setText("");
break;
}
}
uj5u.com熱心網友回復:
頂一下樓 還有一個奇怪的地方是我在我的手機真機運行時 不會報錯 正常運行 當我打包成apk換個手機 和 我后來用虛擬設備都會報錯uj5u.com熱心網友回復:
說明是模擬器的bug,一切以真機為準。uj5u.com熱心網友回復:
另外建議用sqlitehelper管理資料庫uj5u.com熱心網友回復:
但是如果用別人的手機安裝 也會出錯 直接閃退 跟在模擬器上一樣 唯一的就是我的手機使用 使用過真機除錯 一直都不會出問題 不管怎樣洗掉 都不會出問題uj5u.com熱心網友回復:
直接參考asset的目錄沒試過,嘗試下把資料庫匯出到external目錄?比如context.getExternalFilesDir,也有可能是資料庫版本不一樣。。。uj5u.com熱心網友回復:
可能是資料庫格式不兼容,一些大型資料庫廠商提供有自己的Java 底層實作,需要import 資料庫隨帶的操作庫。轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/64269.html
標籤:Android
上一篇:AS的新建專案虛擬機打不開
下一篇:QT中非置頂視窗的顯示問題
