Java 为什么';它没有得到任何数据吗?

Java 为什么';它没有得到任何数据吗?,java,android,sql,Java,Android,Sql,主要内容: 第二项活动: public Cursor getSpecificData(int id){ SQLiteDatabase db = this. getWritableDatabase(); Cursor data = db.rawQuery("SELECT * FROM "+ TableName + " WHERE ID ="+id, null); return data; } 嗨!我是SQL的初学者,我不知道我做错了什么。我有一个包含多列的数据库,我需要从

主要内容:

第二项活动:

public Cursor getSpecificData(int id){
    SQLiteDatabase db = this. getWritableDatabase();
    Cursor data = db.rawQuery("SELECT * FROM "+ TableName + " WHERE ID ="+id, null);
    return data;
}
嗨!我是SQL的初学者,我不知道我做错了什么。我有一个包含多列的数据库,我需要从中获取一些数据,这样我就可以将这些值放在一些文本视图中。问题是,我需要的数据必须是一行,具有ListView中某个项的特定id(是的,我现在谈到了行id,我解决了这个问题)。你知道为什么它不工作吗?

你的数据库助手

Intent intent = getIntent();
    int id =intent.getIntExtra("Id",0);
        Cursor data = mDatabase.getSpecificData(id);
在“活动”中创建一个setViewsfunction

public Cursor getSpecificData(int id){
    SQLiteDatabase db = this.getWritableDatabase();
    String query = "SELECT * FROM "+ TableName + " WHERE ID = "+id;
    Cursor res = db.rawQuery(query, null);
    return res;
}

您是否已尝试直接对数据库进行查询,以查看它是否正常工作,并验证给定id是否有一些数据?为什么表名是一个变量,看起来太复杂了?请你写代码好吗?ID的类型是什么?你已经有了查询,我不明白你的意思。谢谢你的try方法,但问题不是这样。它就是不起作用!看起来一切正常,但光标为空。
public Cursor getSpecificData(int id){
    SQLiteDatabase db = this.getWritableDatabase();
    String query = "SELECT * FROM "+ TableName + " WHERE ID = "+id;
    Cursor res = db.rawQuery(query, null);
    return res;
}
public void setViews() {
            Cursor cursor = mDatabase.getSpecificData(id);
            try {
                if (cursor.getCount() != 0) {
                    if (cursor.moveToFirst()) {
                        textview1.setText(cursor.getString(cursor.getColumnIndex(DatabaseHelper.COLUMN_1_NAME)));
                        textview2.setText(cursor.getString(cursor.getColumnIndex(DatabaseHelper.COLUMN_2_NAME)));
                        //and so on

                    }

                }
            } finally {
                if (cursor != null) {
                    cursor.close();
                }
            }
        }