【问题标题】:Filling a .mdb-File with Data through VB.net通过 VB.net 用数据填充 .mdb 文件
【发布时间】:2013-03-03 20:17:28
【问题描述】:

我在 VB.net 上使用 oledb 和 DataSets 来填充访问数据库 (.mdb)。 它在以下过程中起作用:

  • 我有一个现有的 .mdb 文件,其中包含数据
  • 为现有的 .mdb 文件创建 oledb-dataadapter
  • 用文件中的数据填充 DataSet/DataTable (adapter.fill())
  • 向数据集添加新行
  • 用数据填充行
  • 通过数据适配器将数据集/数据表更新到 .mdb 文件

这工作这么久,问题是:我用几千个数据集做这个过程几千次。时不时地,这个时间越来越长。我认为这是因为数据适配器必须一直遍历整个数据库,并且因为我一直从数据库中获取整个数据集,并将其更新回数据库。

所以我的问题: 是否有机会以其他方式做到这一点?没有从数据库中取出整个数据并将其取回?并且不经过整个数据库?也许使用 sql 连接,然后在数据库末尾添加一行??

感谢您的帮助!

【问题讨论】:

  • 是否可以使用数据创建一个 DataRow,然后将该行插入数据库?

标签: database vb.net ms-access dataset oledb


【解决方案1】:

如果您只添加行 - 为什么不使用 SqlOleDBCommand?他有方法.ExecuteScalar()

【讨论】:

  • 正要说这个。只要您可以为新记录编写 SQL INSERT 语句,这就是我处理它的方式。
  • 我需要添加一行数据!我如何使用 .ExecuteScalar()?
  • 我正在尝试 Oledbadapter,adapter.insertcommand,但这也不起作用
  • Dim cmd as New OleDbCommand("INSERT INTO Table1 (Field1, Field2) VALUES (" & val1 & ", " & val2 & ")", connection) 然后 cmd.ExecuteScalar()。此外,您可以将 OleDbParameter 与 OleDbCommand 一起使用
  • 在这里查看使用ExecuteNonQuery 的文档(在这种情况下可能比ExecuteScalar 更好):msdn.microsoft.com/en-us/library/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-20
  • 1970-01-01
  • 2016-01-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多