【问题标题】:How to send parameter to where clause in a Sqlite query如何将参数发送到 Sqlite 查询中的 where 子句
【发布时间】:2016-03-18 09:00:20
【问题描述】:

我正在尝试从数据库中获取一行。但它不是生成的查询。问号似乎仍然存在。我错过了什么?

 public static User getSingleUser(String email,String password)
    {
        User user = new User();

        SQLiteDatabase db = DatabaseManager.getInstance().openDatabase();

        String selectQuery = " SELECT * FROM " + User.TABLE + " WHERE "
                + User.KEY_EMAIL + "=?"+ " AND " + User.KEY_PASSWORD
                + "=?" ;

        Cursor cursor = db.rawQuery(selectQuery,new String[]{email,password},null);

        if (cursor.moveToFirst()) {
            do {

                user.setId(cursor.getInt(cursor.getColumnIndex("UserId")));
                user.setFirstname(cursor.getString(cursor.getColumnIndex("Firstname")));
                user.setLastname(cursor.getString(cursor.getColumnIndex("Lastname")));
                user.setEmail(cursor.getString(cursor.getColumnIndex("Email")));
                user.setPassword(cursor.getString(cursor.getColumnIndex("Password")));
                user.setIsActive(cursor.getInt(cursor.getColumnIndex("IsActive")));

            } while (cursor.moveToNext());
        }

        return user;
    }
}

【问题讨论】:

  • 你得到了什么?
  • 什么意思?光标是空的吗?也许数据库表是空的?
  • selectQuery = SELECT * FROM User WHERE Email=?和密码=?在游标 mQuery 中是 SQLiteQuery: SELECT * FROM User WHERE Email=? AND 密码=?
  • 你的问题到底是什么?你检查光标内容了吗?
  • 查询中看不到参数

标签: java android sqlite


【解决方案1】:

试试这个,

    String selection = User.KEY_EMAIL + "=?"+ " AND " + User.KEY_PASSWORD + "=?";
    String[] selectionArgs = new String[]{ email, password };
    Cursor cursor = db.query(User.TABLE, null, selection, selectionArgs, null, null, null);

【讨论】:

    【解决方案2】:

    尝试使用下面的原生 android 查询 -

    Cursor cursor = db.query(User.TABLE, null, User.KEY_EMAIL + "=? and " + User.KEY_PASSWORD + "=?", new String[] {email, password}, null, null, null );
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-01-01
    • 1970-01-01
    • 2021-04-07
    • 1970-01-01
    • 1970-01-01
    • 2012-01-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多