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 回答