java - 如何将参数发送到 Sqlite 查询中的 where 子句

标签 java android sqlite

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

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

最佳答案

试试这个,

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

关于java - 如何将参数发送到 Sqlite 查询中的 where 子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36080097/

相关文章:

Android 将图像保存到 SQLite 或 SDCard 或内存

sqlite - Greendao,创建一个非增量(用户定义的)主键

java - 尝试在 Java 中对两个 int 进行按位 AND,但编译器尝试将它们用作 bool

java - Android - 添加屏幕并在其中滑动

android - 如何通过代码在 RelativeLayout 中定位 Button?

java - 安卓 Osmdroid : How to implement IArchiveFile interface for read pbf files using OSM binary library

java - 在 mongodb java 中按日期和标签搜索

java : "error: cannot find symbol"

Android AdMob - 请求欧洲用户的同意

python - python SQLalchemy库的sqlite数据库非ascii字符错误