我想从数据库中检索数据并将其显示在LOG上,这里是我的代码:
String dd = "1/23/2013";
String sp = "Sky Storm";
Log.d("Checking",db.getMeterNUmber2(dd,sp).toString());
并且getMeterNUmber2
在DBAdapter中,我正在寻找的数据在数据库中,所以我只想检索它。
我的数据库适配器:
public ArrayList<String> getMeterNUmber2(String date , String Vname) throws SQLException {
String[] whereArgs = new String[]{date,Vname};
Cursor mcursor = db.rawQuery("SELECT MeterNumber FROM " + SCAN_TABLE + " WHERE Date = ? AND VendorName = ? ",whereArgs);
ArrayList<String> results = new ArrayList<String>();
while (mcursor.moveToNext()) {
results.add(mcursor.getString(0));
}
return results;
}
我在logcat中遇到错误:
01-24 19:57:13.590: E/AndroidRuntime(11662): FATAL EXCEPTION: main
01-24 19:57:13.590: E/AndroidRuntime(11662): java.lang.NullPointerException
01-24 19:57:13.590: E/AndroidRuntime(11662): at scann.barcode.scan.DBAdapter.getMeterNUmber2(DBAdapter.java:303)
01-24 19:57:13.590: E/AndroidRuntime(11662): at scann.barcode.scan.Result$1.onClick(Result.java:104)
答案 0 :(得分:1)
我遇到了和你一样的问题,当我看到你的日志猫时
java.lang.NullPointerException ,
它返回空值,这意味着它不会读入您的数据库,
请检查您是否已打开数据库,例如:db.open() and close
答案 1 :(得分:0)
我认为您不能只登录ArrayList<String>
返回的logcat getMeterNUmber2
,因为它是一个列表。您需要首先从那里检索单个字符串值:Best way to convert an ArrayList to a string。