SORU
10 ŞUBAT 2011, PERŞEMBE


Nasıl benim Android uygulaması iki SQLite tabloları katılabilirim?

Arka plan

İki tablo ile bir veritabanı olan bir Android projesi var: tbl_question tbl_alternative.

Sorular ve alternatifler ile görüşlerini doldurmak için imleçler kullanıyorum. İki tablo katılmaya çalışırım kadar ihtiyacım olan verileri alıyorum sorun yok.

    Tbl_question  
    -------------
    _id  
    question  
    categoryid  
    Tbl_alternative
    ---------------
    _id 
    questionid 
    categoryid 
    alternative

Aşağıdaki gibi bir şey istiyorum:

SELECT tbl_question.question, tbl_alternative.alternative where 
categoryid=tbl_alternative.categoryid AND tbl_question._id = 
tbl_alternative.questionid.` 

Bu girişimim

public Cursor getAlternative(long categoryid) {
            String[] columns = new String[] { KEY_Q_ID, KEY_IMAGE, KEY_QUESTION, KEY_ALT, KEY_QID};
             String whereClause = KEY_CATEGORYID   "="   categoryid  " AND "  KEY_Q_ID  "="  KEY_QID;
             Cursor cursor = mDb.query(true, DBTABLE_QUESTION   " INNER JOIN "  DBTABLE_ALTERNATIVE, columns, whereClause, null, null, null, null, null);
             if (cursor != null) {
                  cursor.moveToFirst();
             }
             return cursor;

SQL sorguları daha düzenli daha forma bu şekilde buluyorum, ama daha az hata olduğu için bu şekilde kullanmak tavsiye yatkın aldık.

Soru

Nasıl benim uygulama iki SQLite tabloları katılabilirim?

CEVAP
10 ŞUBAT 2011, PERŞEMBE


rawQuery yöntem gerekir.

Örnek:

private final String MY_QUERY = "SELECT * FROM table_a a INNER JOIN table_b b ON a.id=b.other_id WHERE b.property_id=?";

db.rawQuery(MY_QUERY, new String[]{String.valueOf(propertyId)});

Kullan ? ham sql sorgu içine değerleri koymak yerine bağlar.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Candyrat Records

    Candyrat Rec

    10 Mayıs 2006
  • NPR

    NPR

    22 NİSAN 2006
  • WestsideMrArO

    WestsideMrAr

    6 EKİM 2010