Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android SQLite rawQuery()方法_Android_Sqlite_Android Sqlite - Fatal编程技术网

Android SQLite rawQuery()方法

Android SQLite rawQuery()方法,android,sqlite,android-sqlite,Android,Sqlite,Android Sqlite,我创建了一个表,其中有三列id、name和规程。 我想查找给定学科的学生姓名 以下是我的方法: String findstudent(String disc){ SQLiteDatabase sqLiteDatabase = this.getReadableDatabase(); String find = "SELECT * FROM "+ TABLE_STUDENTS + " WHERE "+KEY_DISCIPLINE +" = " +disc ; Cursor

我创建了一个表,其中有三列
id
name
规程
。 我想查找给定
学科的学生姓名

以下是我的方法:

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;
}
当我使用它时,应用程序停止工作。

尝试以下操作:

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;
}
希望能有帮助

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) {
    }

我不确定。但是,你可以这样尝试

Cursor.moveToFirst();

do{

//get the data

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

}while(Cursor.moveNext);

请尝试以下代码:

String find = "SELECT *<enter code here> 
               FROM  "+ TABLE_STUDENTS + " 
               WHERE "+KEY_DISCIPLINE +" = '" + disc + "'" ;
String find=“选择*
来自“+表_学生+”
式中“+钥匙+纪律+”=“+disc+”;

如果您的应用程序停止工作,请检查并在此处发布Logcat输出。首先,请在使用完cursor.close()后调用它。thnx,仍然不工作。。