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

  • Chriselle Lim

    Chriselle Li

    26 Ocak 2008
  • MarinaHD2001

    MarinaHD2001

    7 ŞUBAT 2009
  • Perihelion

    Perihelion

    23 NİSAN 2008