2 つの要素の間に引用符がないため、引数が正しくありません...中かっこの間に 2 つの別個の文字列が必要です。これは次のようになります。
String[] args= {"act_email","act_password"};
編集(開始)
次に '、クエリ選択文字列にテキスト修飾子がありません。テキスト フィールドの場合、次の形式にする必要があります。
フィールド='?'
SQLite は独自に引用符を処理するように見えるため、次の形式で where 句を指定するだけで済みます。
field=? [ AND field2=? ... AND fieldn=? ]
次に、args 配列にパラメーターを指定します。Android の OpenDatabaseHelper クラスは、タイプに応じてテキスト修飾子を自動的に処理するようです。
編集(終了)
%この方法で Android で SQLite を使用する際のパラメーター化されたクエリは、クエリ文字列のワイルドカードを好まないことに注意してください。ワイルドカードを使用するには、代わりにそれらを arg 値に配置します。これは実行中に代入されます。したがって、引数は次のようになります。
String[] args= {"%act_email%","%act_password%"};
または、ここで変数を使用する場合:
String[] args= {"%" + act_email + "%", "%" + act_password+ "%"};
したがって、完全なコードは次のようになります。
String[] fields = {"email","password"};
String[] args= {"%" + act_email + "%", "%" + act_password+ "%"};
//do not use like for usr & pwd
String where = "email like ? AND password like ?";
Cursor cursor= db.query(DB_TABLE_NAME, fields , where, args,null, null, null);
メールとパスワードの場合は、使用しないでくださいlike。
where 句を次のように変更します。
String where = "email=? AND password =?";//do not use like for usr & pwd