将.sql文件导入Android中的Sqlite数据库

将.sql文件导入Android中的Sqlite数据库,android,sql,sql-server,sqlite,Android,Sql,Sql Server,Sqlite,在我的android应用程序中,现有数据库使用的是from asset 假设我在资产文件夹中有一个数据库,名称为“a.sqlite”。它有一个名为“t”的表。我想从我的服务器上下载一个名为“t2.sql”的表。 下载“t2.sql”之后,我想以编程方式将“t2”表的所有值插入android中的“t”表 假设这是主数据库表 | id | name | dt1 | dt2 | dt3 | | 1 | Paul | 21 | 98 | 91 | | 2 | John | 22 |

在我的android应用程序中,现有数据库使用的是from asset

假设我在资产文件夹中有一个数据库,名称为“a.sqlite”。它有一个名为“t”的表。我想从我的服务器上下载一个名为“t2.sql”的表。 下载“t2.sql”之后,我想以编程方式将“t2”表的所有值插入android中的“t”表

假设这是主数据库表

| 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表还有CREATETABLE语句和BEGINTRANSACTION/COMMIT语句。这应该很容易,因为在Firefox SQLite管理器中,我使用的是just import,这个表加入了我的数据库。但是我在安卓系统中怎么做我不知道从你的问题中我了解到的是你想把所有的值从一个表映射到另一个表。为此,您必须首先从该表中获取所有值,然后将其转储到另一个表中

首先需要做的是从表t2.sql中获取值。现在我假设您知道如何使用t2.sql文件获取表实体和数据。一旦你得到了,你只需要在t1中批量插入记录

通过以下代码段(伪代码)大容量插入所有值


希望这对你有帮助。如果需要我详细说明,请让我知道

您可以为所有值创建大容量插入,并通过编写sql并首先创建表将其直接映射到t2表。如果你能给我提供一个带有虚拟属性的示例表,我会告诉你怎么做。您可以说制作一个列表并用“t2.sql”填充,然后将所有列表插入到“t table”中。但我不知道有一点是t2.sql是从服务器下载的,它和我的数据库是分开的。那么我们如何调用和使用它呢。我可以像使用.csv文件一样使用它吗?下面的链接将帮助您了解如何进行批量插入。您能够做到吗?不:(还没有。我正在尝试。)
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();
}