【问题标题】:How to check if my WHERE query is correct in Android Studio如何在 Android Studio 中检查我的 WHERE 查询是否正确
【发布时间】:2019-04-06 04:13:13
【问题描述】:

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

我的查询在 SQLite 的数据库浏览器上运行良好。

我的数据库助手:

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

当我 setText 我的 fetchedData 时,它完全没问题。任何帮助将不胜感激。

【问题讨论】:

  • 有什么问题?你有任何错误吗?
  • 感谢您的关注,我已经解决了。在设置我的文本之前,我应该先使用 if(data.moveToFirst())。

标签: java database sqlite where


【解决方案1】:
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));
        }
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-03
    • 1970-01-01
    相关资源
    最近更新 更多