0

以下のプログラムでは、imei_number をテーブルに挿入しています。ただし、挿入されたデータを取得して、別の方法で表示する必要があります。ご案内いたします。よろしくお願いいたします。

onCreate() {

try {
     imeiDB =  this.openOrCreateDatabase(IMEI_DB_NAME, MODE_PRIVATE, null);

     imeiDB.execSQL("CREATE TABLE IF NOT EXISTS " +
     IMEI_TABLE_NAME +" (IMEI_number_db VARCHAR);");

     imeiDB.execSQL("INSERT INTO " + IMEI_TABLE_NAME +" Values ("+IMEI_number_db+");");

     Cursor c = imeiDB.rawQuery("SELECT IMEI_number_db FROM " + IMEI_TABLE_NAME , null);

     if (c != null ) {
            if  (c.moveToFirst()) {
                do {
                     IMEI_number = c.getString(c.getColumnIndex("IMEI_number_db"));

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



} catch (SQLiteException se ) {
     Log.e(getClass().getSimpleName(), "Could not create or Open the database");
} finally {
     if (imeiDB != null) 
        imeiDB.execSQL("DELETE FROM " + IMEI_TABLE_NAME);
        imeiDB.close();
}

    }

/ * ** * ** * ** * ** * *** /

fetch the data in another method

private collectdata()
    {
         String IMEI_number ="";
        Cursor c = imeiDB.rawQuery("SELECT IMEI_number_db FROM " + IMEI_TABLE_NAME , null);

        if (c != null ) {
            if  (c.moveToFirst()) {
                do {
                     IMEI_number = c.getString(c.getColumnIndexOrThrow("IMEI_number_db"));

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



    }       
4

2 に答える 2

0

クエリで検索する唯一の列は IMEI_number_db であるため、カーソルには 1 つの列しかありません。これを変更する必要があります:

IMEI_number = c.getString(c.getColumnIndex("IMEI_number_db"));

このため:

IMEI_number = c.getString(0);
于 2012-12-06T11:12:25.107 に答える
0

次のコードを試すこともできます。

IMEI_number = c.getString(c.getColumnIndexOrThrow("IMEI_number_db"));
于 2012-12-06T11:19:42.663 に答える