0

カーソル内にデータがあるにもかかわらず、「prntln にはメッセージが必要です」というエラーとともに NullPointerException が発生します。ここで何が欠けているのでしょうか?

 databaseHelper = new DatabaseHelper(this);
 db = databaseHelper.getWritableDatabase();

 Cursor c = db.rawQuery("SELECT name, group FROM " +
             "groupWorksheet", null);

 if (c != null ) {

 if  (c.moveToFirst()) {
     Log.v(TAG, "has data");
       do {
            String myName = c.getString(c.getColumnIndex("name"));
            Log.v(TAG, myName);

       }while (c.moveToNext());
 }
 }else {

Log.v(TAG, "no data");
 }
4

1 に答える 1

1

ドキュメントによると、Cursor.getString()はnullを返す可能性があります。

結果がnullかどうかを確認し、nullの場合は、適切に処理する必要があります。行が存在することを知っているだけでは、データが行自体に存在することを確認することはできません。

于 2012-09-18T18:54:39.533 に答える