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

  • Android Central

    Android Cent

    13 Kasım 2008
  • inovationgmbh

    inovationgmb

    28 EYLÜL 2010
  • TheDamnWreckless

    TheDamnWreck

    12 Temmuz 2010