SQLite,将数据集/数据表复制到数据库文件

2024-03-10

我已经用创建的表填充了数据集another数据库文件。该表不在我希望能够将表复制到的数据库文件中。

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

我怎样才能做到这一点?

另外,如果可能的话,我真的想避免循环。

最好的答案是我:) 所以我会分享它。这是一个循环,但在 2-3 秒内写入 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();
}

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


  • 当您加载DataTable从源数据库中,设置AcceptChangesDuringFill数据适配器的属性为 false,以便加载的记录保存在Added状态(假设源数据库是SQL Server)

    var sqlAdapter = new SqlDataAdapter("SELECT * FROM the_table", sqlConnection);
    DataTable table = new DataTable();
    sqlAdapter.AcceptChangesDuringFill = false;
    sqlAdapter.Fill(table);
    
  • 通过执行以下命令在 SQLite 数据库中创建表CREATE TABLE直接声明SQLiteCommand.ExecuteNonQuery

  • 创建一个新的DataAdapter用于 SQLite 数据库连接,并用它来Update the db:

    var sqliteAdapter = new SQLiteDataAdapter("SELECT * FROM the_table", sqliteConnection);
    var cmdBuilder = new SQLiteCommandBuilder(sqliteAdapter);
    sqliteAdapter.Update(table);
    

如果源表和目标表具有相同的列名和兼容的类型,它应该可以正常工作......

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SQLite,将数据集/数据表复制到数据库文件 的相关文章

随机推荐

  • Perl:命名参数验证最佳实践

    我在类方法调用中使用命名参数 想知道是否有最佳实践来确保不传递未知参数 这就是我正在做的 sub classmethod my self shift my args param1 gt default1 param2 gt default2
  • fft后如何在C上均衡

    首先感谢您花时间回答 我的问题是下一个 我尝试使用 fft 快速傅立叶变换 在 C 上构建均衡器 因为现在我能够在向量 音频样本 上正确应用 fft 对其进行归一化 然后应用逆 fft 因为这里一切都好 但是当我尝试修改 fft 的结果 以
  • 如何从组件内的单点捕获 vuejs 错误

    我有一个使用大量 axios 的组件then catch 在捕获中我总是抛出console error like axios get then catch error gt console error 还有其他一些地方我也抛出错误 我正在寻
  • LabelEncoder指定DataFrame中的类

    我正在将 LabelEncoder 应用于 pandas DataFrame df Feat1 Feat2 Feat3 Feat4 Feat5 A A A A E B B C C E C D C C E D A C D E 我将标签编码器应
  • 如何解析 Netlogo 中的字符串?

    Context 对于我的模型 我希望有一个输入 用户可以在其中输入一系列值 E g 我希望从上面显示的输入中得到一个由五个数字组成的列表 例如 0 5 0 2 0 0 2 0 5 这样我就可以使用他们输入的数字进行一些计算 问题 不幸的是
  • 设置 SQL_MODE="NO_AUTO_VALUE_ON_ZERO";给出一个错误

    我的 mysql 数据库有问题 我无法从我的朋友那里导入数据库 我需要一些帮助 SET SQL MODE NO AUTO VALUE ON ZERO SET time zone 00 00 ERROR 声明的开头出人意料 靠近位置 0 的
  • GUID 可以多短?

    我知道标准 GUID 它们可以变得更短吗 其背后的理论是什么 Greg Dean 的答案是正确的 但为了了解 GUID 是如何生成的以及为什么不应该缩短它 我强烈建议您阅读下面的文章 新旧事物 GUID 是全局唯一的 但 GUID 的子字符
  • 如何扩展从npm包导入的vue组件?

    如果您有通过 Node 安装的 vue 组件 node modules vendor somecomponent vue 有什么方法可以修改 扩展该组件的模板 方法吗 Update 尝试下面的示例后 我遇到了这个问题 我在用https gi
  • VB.NET:哪个 As 子句与带有 Option Strict On 的匿名类型一起使用?

    考虑始终声明的要求Option Strict On 我们总是需要用As关键词 匿名类型的类型是什么 例子 Dim product As New With Key Name paperclips Price 1 29 接下来会发生什么As 尝
  • 使用 .NET Framework 或 Windows API 检测 Windows 11

    在 NET Framework 中 获取可以使用的操作系统版本Environment OSVersion与Major and Minor告诉您 Windows 版本的值 即 6 1 Windows 7 10 0 Windows 10 尽管
  • 在不创建主题的情况下更改 emacs 中特定文本的颜色

    是否可以选择您正在编辑的一段文本并更改其颜色 我知道可以创建一个颜色主题来为某些类型的文本着色 例如某种编程语言中的着色函数 但是是否可以对特定 emacs 中的选定文本片段进行一次性颜色更改不创建主题的文档 提前致谢 在任何情况下 主题都
  • 无法访问对象原型上的方法

    我可以创建一个Cat对象并在其原型上设置一个方法来打印猫的名字 var log function message var results result results append p message p function Cat name
  • 从 OnActionExecuting 重定向到外部 url?

    我需要从 OnActionExecuting 方法重定向到外部网址 比方说 www google com 现在我正在使用这样的东西 public override void OnActionExecuting ActionExecuting
  • 如何使用变换原点让 svg 元素从中心旋转? [复制]

    这个问题在这里已经有答案了 我正在尝试对 svg 矩形元素进行非常简单的旋转 我希望这个元素相对于它的中心旋转 我试图使用transform origin属性来实现这一点 参见代码片段 尽管尝试使用 center 或 50 从中心旋转 但它
  • 使用 sql 查询在 hibernate 中创建新的对象实例

    我正在尝试使用查询在 hibernate 中创建一个对象 然后该对象将被保存回表示该类的表中 hbm xml 文件摘录
  • Django simple_tag 和设置上下文变量

    我正在尝试使用 simple tag 并设置上下文变量 我使用的是 django 的 trunk 版本 from django import template register simple tag takes context True d
  • strstr 不工作

    如果我输入 test 为什么这段特定的代码在 strstr 上返回 false char input 100 int main fgets input 100 stdin printf s input if strstr test mess
  • Perl 中有正则表达式来查找文件扩展名吗?

    Perl 中有正则表达式来查找文件扩展名吗 例如 如果我有 test exe 我怎样才能得到 exe my file test exe Match a dot followed by any number of non dots until
  • Ubuntu 上的 JAVA_HOME 定义不正确?

    我正在尝试在 Ubuntu 14 04 中安装一些软件 Shibboleth 我已经安装了 Java 7 OpenJDK usr lib jvm 我有这些行 usr environment JAVA HOME usr lib jvm jav
  • SQLite,将数据集/数据表复制到数据库文件

    我已经用创建的表填充了数据集another数据库文件 该表不在我希望能够将表复制到的数据库文件中 现在我想将所有这些记录 DataTable 保存到新创建的 SQLite 数据库文件中 我怎样才能做到这一点 另外 如果可能的话 我真的想避免