0
SQLiteDatabase db = this.openOrCreateDatabase("students", MODE_PRIVATE, null);

/* db.execSQL("create table info (" +
    "id integer PRIMARY KEY autoincrement," +
    "name text);" );*/

//   db.execSQL("insert into info (name) values ('Ahmed');");

//   db.execSQL("insert into info (name) values ('Ali');");

Toast.makeText(this, "databse done and informations inserted succesfully", Toast.LENGTH_LONG).show();

Cursor c1 = db.rawQuery("select * from info where name = 'ahmed';", null);

//this line gives runtime error
String x = c1.getString(c1.getColumnIndex("name"));

Toast.makeText(this, x, Toast.LENGTH_LONG).show();
4

1 に答える 1

0

c1.moveToFirst();行の前に追加

String x = c1.getString(c1.getColumnIndex("name"));

また、getColumnIndexOrThrow代わりにgetColumnIndexを使用して、正しい列名を指定したことを確認することを検討してください(そうしないと、例外が発生します)

一般に、特に単純なクエリを実行する例では、query代わりに使用することをお勧めしますrawQuery

于 2013-02-08T03:34:06.607 に答える