首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >游标为空,但查询(据说)是正确的。

游标为空,但查询(据说)是正确的。
EN

Stack Overflow用户
提问于 2018-05-12 17:56:36
回答 1查看 49关注 0票数 0

我有个很奇怪的问题。我的片段就像这样

代码语言:javascript
复制
public Wynik getData(int pomiar, int godzina) {
    Wynik wynik = null;
    String query = "SELECT * FROM " + "insulina" + " WHERE godzina = " + godzina +
            " AND cukier = " + pomiar;
    SQLiteDatabase db = this.getReadableDatabase();
    try (Cursor cursor = db.rawQuery(query, null)) {
        Log.i("tag", "cursor length:" + cursor.getCount());
        if (cursor.getCount() > 0) {
            String s = DatabaseUtils.dumpCursorToString(cursor);
            Log.d("s", s);
            cursor.moveToFirst();
            wynik = new Wynik
                    (cursor.getInt(cursor.getColumnIndexOrThrow("godzina")),
                            cursor.getString(cursor.getColumnIndexOrThrow("insulina")),
                            cursor.getInt(cursor.getColumnIndexOrThrow("dawka")),
                            cursor.getString(cursor.getColumnIndexOrThrow("cialo")));
        }

        cursor.close();
        return wynik;

(不好意思没有举行英语会议,但它应该是快速的,例行的项目)

整个应用程序的想法是帮助我的朋友治疗他祖母的糖尿病。他会插入血糖水平测试(cukier)的结果,并自动检查测试时间(godzina)。在此基础上,app应返回一个完整的结果(wynik),包括所需剂量的胰岛素(dawka)、胰岛素类型(胰岛素)和取血的部分身体(cialo)。

数据库如下所示:

举个例子。血检结果是10 (这是用户唯一要插入的东西),而且是晚上7点(按照24小时的惯例,19点--程序给出了最接近的测试时间,所以是18小时)。所以,查询看起来就像

代码语言:javascript
复制
SELECT * FROM insulina WHERE godzina = 18 AND cukier = 10

这是我的问题。该应用程序将光标长度识别为0(应该是1),即使我的其他与数据库创建相关的应用程序( database for SQLite)使用相同的查询正确地给出了我的结果。

而且Android说数据库已经成功地打开了。

我在这里找不到错误。我真的很困惑于这个问题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-12 18:54:00

我认为这个问题应该是:

代码语言:javascript
复制
String query = "SELECT * FROM insulina WHERE godzina = ? AND cukier = ?";
SQLiteDatabase db = this.getReadableDatabase();
try (Cursor cursor = db.rawQuery(query, new String[]{String.valueOf(godzina), String.valueOf(pomiar)})) { 
//... rest of code

此外,看起来您使用的是“使用资源进行尝试”,因此关闭并不是显式必要的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50309174

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档