Java 如何在Android Studio中检查我的WHERE查询是否正确

Java 如何在Android Studio中检查我的WHERE查询是否正确,java,database,sqlite,where,Java,Database,Sqlite,Where,我正在尝试我的rawQuery,但我的应用程序不断崩溃,运行应用程序时没有出现错误 我的查询在SQLite的DB浏览器上运行良好 我的数据库助手: public Cursor setData(String id){ SQLiteDatabase db = this.getReadableDatabase(); String query = "SELECT * FROM " + TABLE_NAME + " WHERE " + NUMBER + " = " + id

我正在尝试我的rawQuery,但我的应用程序不断崩溃,运行应用程序时没有出现错误

我的查询在SQLite的DB浏览器上运行良好

我的数据库助手:

public Cursor setData(String id){
        SQLiteDatabase db = this.getReadableDatabase();
        String query = "SELECT * FROM " + TABLE_NAME + " WHERE " + NUMBER + " = " + id;
        Cursor cursor = db.rawQuery(query, null);

        return cursor;
    }
我的主要活动:

public void setData(){
        fetchedData = getIntent().getExtras().get("sentData").toString();
        Cursor data = myDb.setData(fetchedData);
        editTextnumber.setText(data.getString(1));
    }
我也试过:

Cursor cursor = db.rawQuery("SELECT * FROM " +TABLE_NAME+ " WHERE " + NUMBER + "= ?", new String[] {id});

当我设置我的获取数据时,它是完全好的。非常感谢您的帮助。

有什么问题吗?你有什么错误吗?谢谢你的注意,我已经解决了。在设置文本之前,我应该先使用if(data.moveToFirst()),有什么问题吗?你有什么错误吗?谢谢你的注意,我已经解决了。在设置文本之前,我应该先使用if(data.moveToFirst())。
public void setData(){
        fetchedData = getIntent().getExtras().get("sentData").toString();
        Cursor data = myDb.setData(fetchedData);
        if(data.moveToFirst()) {

            editTextnumber.setText(data.getString(1));
            editTextname.setText(data.getString(2));
            editTextaddress.setText(data.getString(5));
            editTextnotes.setText(data.getString(6));
        }
    }