sql >> データベース >  >> RDS >> SQLite

アンドロイドを使用してユーザーがSqliteデータベースに存在することを確認する方法は?

    コードの問題はない 引数を整数として渡しますが(渡しません)、引数はTEXTとして認識されません。 リテラルは一重引用符で囲まれていないため、SQLiteはそれらを列名と見なします。

    パラメータをrawQuery()に渡すための推奨される方法 これは:

    fun userPresent (user: String, pass: String): Boolean {
        val db = writableDatabase 
        val query = "select * from $TABLE_NAME where username = ? and password = ?"
        val cursor = db.rawQuery(query, arrayOf(user, pass))
        val result = cursor.count > 0
        cursor.close()
        db.close()
        return result
    }
    

    プレースホルダー? rawQuery()の2番目の引数として渡された配列の対応する項目から値を取得します また、SQLインジェクションのリスクを回避するために、一重引用符を連結する必要はありません。
    その後、returnステートメントの前に、両方のCursorを閉じる必要があります。 およびdb オブジェクト。



    1. SQLServerクエリをMySQLに変換する

    2. java.library.pathにocijdbc9がありません

    3. GROUP BY/SQLでの集計関数の混乱

    4. SQLServerデータベースですべての制約違反を見つける方法