0

データベースからデータを取得し、ログに表示したいのですが、ここに私のコードがあります:

 String dd = "1/23/2013";

  String sp = "Sky Storm";

 Log.d("Checking",db.getMeterNUmber2(dd,sp).toString());

そしてgetMeterNUmber2DBAdapterにあり、探しているデータはデータベースにあるので、それを取得したいだけです。

私のDBアダプタ:

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)
4

2 に答える 2

2

私はあなたと同じ問題を抱えていて、あなたの丸太猫を見ると

 java.lang.NullPointerException ,

null 値を返すため、データベースに読み込まれないことを意味します。

データベースを開いているかどうかを確認してください。例:db.open() and close

于 2013-01-24T20:39:24.123 に答える
0

リストなので、ArrayList<String>返されたlogcatにログインするだけではいけないと思います。getMeterNUmber2最初にそこから単一の文字列値を取得する必要があります。ArrayListを文字列に変換する最良の方法

于 2013-01-24T20:17:45.613 に答える