1

SQL テーブルを定義しました。

      ...

        customersDB2.execSQL("INSERT INTO " + TABLE_NAME + " Values ( 86, 'This ', 'זה ');");
        customersDB2.execSQL("INSERT INTO " + TABLE_NAME + " Values ( 87, 'most ', 'ביותר ');");
        customersDB2.execSQL("INSERT INTO " + TABLE_NAME + " Values ( 88, 'use ', 'uu ');");


.....


    }
    catch (SQLiteException se ) {
        Log.e(getClass().getSimpleName(), "Could not create records");
    }
}

「onCreate」で初期化します。

public void onCreate(Bundle savedInstanceState) {
    try {
        customersDB2 =  this.openOrCreateDatabase(  DB_NAME, MODE_PRIVATE, null);


        customersDB2.execSQL("CREATE TABLE " +
                TABLE_NAME +
                " (Block INT," +
                " Name VARCHAR, Street VARCHAR);");
        mFillDbsTable();}
    catch (SQLiteException se ) {
        Log.e(getClass().getSimpleName(), "create/Open the database problem");


    }

私の問題は、 c.moveToFirst() が常に false を返すことです。この問題は、ヘブライ語を英語に変更すると修正されました。私はそれを修正できますか?

    Cursor c = customersDB2.rawQuery("SELECT *  FROM "    +
            TABLE_NAME +" where Block == 88", null);


    if (c != null ) { // this return true

        if  (c.moveToFirst()) {  //this return false
            do {
                 Toast.makeText(this,"null1",Toast.LENGTH_SHORT).show();
                 name = c.getString(c.getColumnIndex("Name"));
                 street = c.getString(c.getColumnIndex("Street"));

                 results.add(name + ", " + street );
            }while (c.moveToNext());
        }
    }

ログは空です。

4

1 に答える 1