#android #sql #android-studio #cursors
#Android #sql #android-studio #курсоры
Вопрос:
Я попытался извлечь данные из двух таблиц с помощью курсоров, но я получаю данные только из одной таблицы. пожалуйста, помогите.
Вот полный код.
//Создание таблиц
// Таблица T24
db.execSQL("CREATE TABLE IF NOT EXISTS T24 (ID NUMBER PRIMARY KEY,STARTING VARCHAR,DESTINATION VARCHAR"
",PLACES VARCHAR,PLACESFARE NUMBER(9,3),HOTELS VARCHAR,HOTELSFARE NUMBER(9,3),TRANSPORT VARCHAR,"
"TRANSPORTFARE VARCHAR,DAYS INTEGER,TOTALFARE NUMBER(9,3))");
// Таблица P21
db.execSQL("CREATE TABLE IF NOT EXISTS P21" "(NAME VARCHAR PRIMARY KEY,NO NUMBER,"
"ADDRESS VARCHAR,DAYS NUMBER,DATE NUMBER,MONTH NUMBER)");
// Извлечение данных из базы данных.
db = openOrCreateDatabase("tour", Context.MODE_PRIVATE, null);
String query1 = "select *from T24 where "
"STARTING='" s3 "' and DESTINATION='" s4 "'";
Cursor c = db.rawQuery(query1, null);
if (c.moveToFirst() == true) {
t1 = c.getString(3);
t2 = c.getString(4);
t3 = c.getString(5);
t4 = c.getString(6);
t5 = c.getString(7);
t6 = c.getString(8);
t7 = c.getString(9);
t8 = c.getString(10);
}
c.close();
db.close();
ptv.setText(t1);
pf.setText(t2);
hotels.setText(t3);
hf.setText(t4);
td.setText(t5);
tf.setText(t6);
fare.setText(t8);
try {
db2 = openOrCreateDatabase("tour", Context.MODE_PRIVATE, null);
String query2 = "select *from P21 where"
"NAME='" e1 "'";
Cursor c1 = db2.rawQuery(query2, null);
if (c1.moveToFirst() == true) {
t9 = c1.getString(0);
t10 = c1.getString(1);
t11 = Integer.parseInt(c1.getString(3));
t12 = Integer.parseInt(c1.getString(4));
t13 = Integer.parseInt(c1.getString(5));
}
c1.close();
db2.close();
Toast.makeText(getApplicationContext(), "done3", Toast.LENGTH_LONG).show();
name.setText(t9);
no.setText(t10);
sdate1.setText(t12);
sdate2.setText(t13);
Я могу извлечь дату из таблицы «T24», но не могу извлечь данные из таблицы «P21».
Пожалуйста, помогите.
Комментарии:
1. попробуйте использовать запрос объединения для извлечения данных из нескольких таблиц androidopentutorials.com /…
Ответ №1:
Я думаю, вы оставили пробел после «where» в предложении sqlite в P21:
String query2 = "select *from P21 where"
"NAME='" e1 "'";
Вам нужно написать так:
String query2 = "select * from P21 where "
"NAME='" e1 "'";