query文 where句複数指定について

150 views
Skip to first unread message

安藤玲生

unread,
Mar 24, 2014, 4:41:46 AM3/24/14
to android-g...@googlegroups.com
いきなりすいません。質問なのですが、

以下のquery文では、 where句が何も指定されていない状態ですが、
where句を A and B pr C or D
whereValueを 0,0,1,2
にしたいのですが、どのようにwhere句とwhere値を指定すればよいでしょうか?


    // Getting single contact
    Contact getContact(int id) {
        SQLiteDatabase db = this.getReadableDatabase();
 
        Cursor cursor = db.query(TABLE_CONTACTS, new String[] { KEY_ID,
                KEY_NAME, KEY_PH_NO }, KEY_ID + "=?",
                new String[] { String.valueOf(id) }, null, null, null, null);
        if (cursor != null)
            cursor.moveToFirst();
 
        Contact contact = new Contact(Integer.parseInt(cursor.getString(0)),
                cursor.getString(1), cursor.getString(2));
        // return contact
        return contact;
    }


以上よろしくお願いいたしmasu

Hirokazu Fukami

unread,
Mar 24, 2014, 4:53:27 AM3/24/14
to android-g...@googlegroups.com
こんにちはfkmです。

> 以下のquery文では、 where句が何も指定されていない状態ですが、
where句は指定してあるように読めるのですが。。。

KEY_ID + "=?",
new String[] { String.valueOf(id) },



> --
> このメールは Google グループのグループ「日本Androidの会」に登録しているユーザーに送られています。
> このグループから退会し、グループからのメールの配信を停止するには
> android-group-j...@googlegroups.com にメールを送信してください。
> このグループに投稿するには android-g...@googlegroups.com にメールを送信してください。
> http://groups.google.com/group/android-group-japan からこのグループにアクセスしてください。
> その他のオプションについては https://groups.google.com/d/optout にアクセスしてください。



--
-------------------------------------------------------------
深見 浩和(Hirokazu Fukami)

URI:http://www.fkmsoft.jp
email: f...@fkmsoft.jp

安藤玲生

unread,
Mar 24, 2014, 5:26:08 AM3/24/14
to android-g...@googlegroups.com
すいません。質問の仕方間違えました。

たとえば以下のSQL文では、WHERE句として resultが NULLでないものをDBからす
べて取得していますが、
このWhere句に flgが0のものを追加したいです。

//フィールド
SQLiteDatabase mDb;
Cursor cursor = null;
int result;
boolean flg;



cursor = mDb.rawQuery(
"SELECT * FROM " + aaa.db + " WHERE " + result + " IS NOT NULL" + "
ORDER BY " + 時刻 + " ASC;"
, null);


やりたいこと
cursor = mDb.rawQuery(
"SELECT * FROM " + aaa.db + " WHERE " + resultがnullでないかつ、flgが0の
もの + " ORDER BY " + 時刻 + " ASC;"
, null);


以上お手数おかけいたしますがよろしくお願いいたします。

田代透

unread,
Mar 24, 2014, 6:02:55 AM3/24/14
to android-g...@googlegroups.com

SQLのコーディングの依頼なのでしょうか?
ごくごく基礎的なことなので、人に頼むようなことではないと思いますが……

2014/03/24 18:26 "安藤玲生" <android....@gmail.com>:
このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。

八木健夫

unread,
Mar 24, 2014, 10:38:53 AM3/24/14
to android-g...@googlegroups.com
田代さんも回答されていますが、SQLのコーディングでしょうか、それとも上記のプログラムの添削でしょうか
どちらにしてもここはそういった場ではないので、遠慮してくだざい

・・・というと身も蓋もないのでコーディングでのアドバイスをば

コーディングの際は面倒でも、SQL文字列の生成と実行する箇所を分割しましょう

実行するSQL文を実行箇所に記述すると、何が悪いのか判別できませんからね。

特にコーディングに関して自分が「正しい」と思って記述してあるところは心理的な盲点になりますから、よくドツボにはまりがちです


2014年3月24日 18:26 安藤玲生 <android....@gmail.com>:
このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。

kenji matsuoka

unread,
Mar 26, 2014, 3:28:33 AM3/26/14
to android-g...@googlegroups.com
完璧にグループ違いなので書くのも躊躇われますが
とりあえずSQLを覚えたいならAndroid環境で作り込むのは効率が悪すぎるので
自前でMySQLなりPostgreSQLなりを立ち上げてSQLを直接うち、直接結果を見て学んだ方が良いです。
SQLの入門書は山ほどあるし、SQLのコミュニティーも山ほどあるのでそちらで学ばれてみてはいかがでしょうか?

2014年3月24日月曜日 23時38分53秒 UTC+9 無頼の牙:
>> android-group-japan+unsub...@googlegroups.com にメールを送信してください。

>> このグループに投稿するには android-g...@googlegroups.com にメールを送信してください。
>> http://groups.google.com/group/android-group-japan からこのグループにアクセスしてください。
>> その他のオプションについては https://groups.google.com/d/optout にアクセスしてください。
>
>

--
このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
このグループから退会し、グループからのメールの配信を停止するには android-group-japan+unsub...@googlegroups.com にメールを送信してください。
このグループに投稿するには、android-group-ja...@googlegroups.com にメールを送信してください。
Reply all
Reply to author
Forward
0 new messages