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ş:
Nasıl benim Android uygulaması crash-v...
Nasıl benim Android uygulaması e-posta...
Nasıl '' Android uygulaması ...
Nasıl benim Android uygulaması profil ...
Nasıl benim Android uygulaması arka pl...