У моєму додатку для Android існуюча база даних з використанням ресурсу.
Припустимо, що у мене є база даних у папці активів іназва "a.sqlite". і в ньому є таблиця, яка називається "t". і я хочу завантажити з мого сервера таблицю з назвою "t2.sql". після завантаження "t2.sql" я хочу вставити всі значення таблиці "t2" в таблицю "t" в Android програмно
Припустимо, що це основна таблиця бази даних
| id | name | dt1 | dt2 | dt3 |
| 1 | Paul | 21 | 98 | 91 |
| 2 | John | 22 | 44 | 11 |
| 3 | George| 21 | 31 | 22 |
| 4 | Ringo | 20 | 10 | 15 |
і я хочу вставити цю таблицю sql в основну таблицю
| id | name | dt1 | dt2 | dt3 |
| 1 | Paul_2 | 21 | 98 | 91 |
| 2 | John_2 | 22 | 44 | 11 |
| 3 | George_2| 21 | 31 | 22 |
| 4 | Ringo_2 | 20 | 10 | 15 |
Також у моїй таблиці sql є CREATE TABLE іПОЧАТОК ТРАНЗАКЦІЯ / ЗВ'ЯЗКИ з твердженнями. Це має бути дуже просто, тому що в менеджері Firefox SQLite я використовую лише імпорт, і ця таблиця приєднується до моєї бази даних. але як я можу робити в android, я не знаю
Відповіді:
0 для відповіді № 1Я зрозумів з вашого запитання, що ви хочете зіставити всі значення з однієї таблиці в іншу. Для цього вам слід спочатку отримати всі значення з цієї таблиці, а потім скинути їх в іншу.
По-перше, що вам потрібно зробити, це отримати значенняз таблиці t2.sql. Тепер я припускаю, що ви знаєте, як використовувати файл t2.sql для отримання сутностей та даних таблиці. Як тільки ви зрозумієте, що вам просто потрібно буде масово вставити записи в t1.
Масове вставлення всіх значень через наступний фрагмент (псевдокод),
try
{
db.beginTransaction();
for each record in the list
{
do_some_processing();
if (line represent a valid entry)
{
db.insert(TABLE_T1, null, SOME_VALUE);
}
some_other_processing();
}
db.setTransactionSuccessful();
}
catch (SQLException e) {}
finally
{
db.endTransaction();
}
Сподіваюся, це вам допоможе. Якщо вам потрібно, щоб я розробив, будь ласка, дайте мені знати