在我的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语句和BEGIN TRANSACTION / COMMIT语句。这应该很容易,因为在Firefox SQLite管理器中我只使用导入,这个表加入我的数据库。但我怎么能在android中做我不知道
答案 0 :(得分:0)
我从您的问题中了解到,您希望将所有值从一个表映射到另一个表。为此,您必须首先从该表中获取所有值,然后将其转储到另一个表中。
首先,您需要做的是从表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();
}
希望这会对你有所帮助。如果您需要我详细说明,请告诉我