小编Tom*_*mix的帖子

SQLite,将DataSet/DataTable复制到DataBase文件

我已经使用从另一个数据库文件创建的表填充了DataSet .该表不在数据库文件中,我希望能够将表复制到.

现在我想将所有这些记录(DataTable)保存到新创建的SQLite数据库文件中......

我怎样才能做到这一点?

如果可能的话,我真的想避免循环.

最好的答案是由我:)所以我会分享它.这是循环,但在2-3secs写入100k条目.

using (DbTransaction dbTrans = kaupykliuduomConn.BeginTransaction())
{
  downloadas.Visible = true; //my progressbar
  downloadas.Maximum = dataSet1.Tables["duomenys"].Rows.Count;

  using (DbCommand cmd = kaupykliuduomConn.CreateCommand())
  {
    cmd.CommandText = "INSERT INTO duomenys(Barkodas, Preke, kiekis) VALUES(?,?,?)";
    DbParameter Field1 = cmd.CreateParameter();
    DbParameter Field2 = cmd.CreateParameter();
    DbParameter Field3 = cmd.CreateParameter();
    cmd.Parameters.Add(Field1);
    cmd.Parameters.Add(Field2);
    cmd.Parameters.Add(Field3);

    while (n != dataSet1.Tables["duomenys"].Rows.Count)
    {
      Field1.Value = dataSet1.Tables["duomenys"].Rows[n]["Barkodas"].ToString();
      Field2.Value = dataSet1.Tables["duomenys"].Rows[n]["Preke"].ToString();
      Field3.Value = dataSet1.Tables["duomenys"].Rows[n]["kiekis"].ToString();
      downloadas.Value = n;
      n++;
      cmd.ExecuteNonQuery();
    }
  }
  dbTrans.Commit();
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,dataSet1.Tables ["duomenys"]已经填充了我需要传输到另一个数据库的所有数据.我也使用循环来填充数据集.

c# database sqlite datatable dataset

4
推荐指数
2
解决办法
2万
查看次数

标签 统计

c# ×1

database ×1

dataset ×1

datatable ×1

sqlite ×1