2015-12-06 2 views
-1

Я просто хочу спросить о чтении данных из двух таблиц, главной и временной таблицы. главной таблицей является «перевод», а темп - «translate2».Чтение из двух таблиц в приложении android

Эта строка кода выполняет эту работу или нет?

 db = helper.getWritableDatabase(); 
     cursor = db.rawQuery("SELECT LOWER(kata_indo) as kata_indo, LOWER (kata_tora) as kata_tora FROM translate WHERE LOWER(kata_indo) = ?", new String[] {temp[i]}); 
     cursor = db.rawQuery("SELECT LOWER(kata_indo) as kata_indo, LOWER (kata_tora) as kata_tora FROM translate2 WHERE LOWER(kata_indo) = ?", new String[] {temp[i]}); 
     int countRow = cursor.getCount(); 
     cursor.moveToFirst(); 
     String specialChar = ""; 

заранее спасибо за вашу помощь

+0

Как соотносятся эти две таблицы? В таблице temp atleast есть поле, связанное с основной таблицей? что находится в главной таблице, которую вы хотите прочитать, а не в таблице temp? –

+0

@ life-evader Я хочу, чтобы данные были в основном невозмутимыми .. поэтому я хочу добавить данные в таблицу temp .. и я хочу прочитать данные из обеих таблиц .. это база данных словарных приложений. – hanz

ответ

3

Нет, это не так. вы дважды набрали курсор. Это означает, что данные из таблицы перевода будут заменены после запуска второго метода rawquery. Поэтому, если вам нужны данные из обеих таблиц, у вас должно быть два курсора.

cursor = db.rawQuery("SELECT LOWER(kata_indo) as kata_indo, LOWER (kata_tora) as kata_tora FROM translate WHERE LOWER(kata_indo) = ?", new String[] {temp[i]}); 
cursor2 = db.rawQuery("SELECT LOWER(kata_indo) as kata_indo, LOWER (kata_tora) as kata_tora FROM translate2 WHERE LOWER(kata_indo) = ?", new String[] {temp[i]}); 
Смежные вопросы