Android SQLite rawQuery()方法

时间:2013-08-16 10:13:17

标签: android sqlite android-sqlite

我创建了一个包含三列idnamediscipline的表格。 我希望找到discipline的学生姓名。

以下是我的方法:

String findstudent(String disc){
    SQLiteDatabase sqLiteDatabase = this.getReadableDatabase();
    String find = "SELECT * FROM  "+ TABLE_STUDENTS + " WHERE "+KEY_DISCIPLINE +" = " +disc ;
    Cursor cursor = sqLiteDatabase.rawQuery(find,null);
    cursor.moveToFirst();
    String found =cursor.getString(1);

    return  found;
}

当我使用它时,应用程序停止工作。

4 个答案:

答案 0 :(得分:1)

我不确定。但是,你可以尝试这种方式

Cursor.moveToFirst();

do{

//get the data

String found =cursor.getString(cursor.getColumnIndexOrThrow("COLUMN NAME"));

}while(Cursor.moveNext);

答案 1 :(得分:1)

请尝试以下代码:

String find = "SELECT *<enter code here> 
               FROM  "+ TABLE_STUDENTS + " 
               WHERE "+KEY_DISCIPLINE +" = '" + disc + "'" ;

答案 2 :(得分:0)

试试这个:

String findstudent(String disc){

    Cursor cursor;

    cursor = this.db.query(TABLE_STUDENTS,null, KEY_DISCIPLINE +" = "+ disc, null, null, null, null,null );

    cursor.moveToFirst();

    String found =cursor.getString(0);

    return  found;
}

希望它能帮助!!

答案 3 :(得分:0)

public Cursor findstudent(String disc){
SQLiteDatabase sqLiteDatabase = this.getReadableDatabase();
String[] find = new String[]{ col1,col2,col3};//all fields in db in need
String order=col1;
Cursor c=db.query(TABLE_STUDENTS, find, KEY_DISCIPLINE +" = " +disc, null, null, null, order);
 c.moveToFirst();
    db.close();
    return c;
}

在活动中包括:

DataBaseHandler db = new DataBaseHandler(this);
try {
        Cursor c = db.displayName(your_disc);

        startManagingCursor(c);

        if (!c.moveToFirst()) {
            System.out.println("!Move " + posnumber);

        } else {
            String idname = c.getString(c
                    .getColumnIndex(DataBaseHandler.KEY_NAME));
            System.out.println("null:");
            System.out.println("Move " + idname);
            return true;
        }
        c.close();
        stopManagingCursor(c);
    } catch (Exception ex) {
    }