代码之家  ›  专栏  ›  技术社区  ›  JCasso

数据表更新问题

  •  0
  • JCasso  · 技术社区  · 16 年前

    保存数千行的最佳方法是什么?在做了一些事情之后,更新它们。

    目前,我使用一个数据表,在完成插入时填充它

    MyDataAdapter.Update(MyDataTable)
    

    在对myDataTable做了一些更改之后,我再次使用myDataAdapter.update(myDataTable)方法。

    编辑:

    很抱歉,我没有提供更多信息。

    最多可以有200000行,这些行将从XML文件创建。这些行将保存到数据库中。之后,每一行都会有一些过程。我需要更新数据库中的每一行。

    我决定不逐行更新数据表,而是使用同一个数据适配器来更新行。

    这是我最好的。

    我认为有一种更聪明的方法。

    2 回复  |  直到 15 年前
        1
  •  1
  •   Henk Holterman    16 年前

    在回应您的评论时:

    DataAdapter.Update() 将逐行添加(并插入/删除)。如果你有个人的改变,就没有更快的方法了。如果你有系统的改变,比如 SET Price = Price+ 2 WHERE SelByDate < '1/1/2010' 你最好跑一个 DbCommand 根据数据库。

    但也许您应该在执行之前担心事务和错误处理。

        2
  •  1
  •   Tom H zenazn    15 年前

    如果我理解正确,您将执行两个独立的操作:将行加载到数据库,然后更新这些行。

    如果要插入的行来自另一个ADO.NET支持的数据源,则可以使用sqlbackcopy批量插入行,这将比使用数据表更有效。

    一旦这些行在数据库中,我假设您最好执行一个sqlcommand来修改它们的值。

    如果你能提供更多关于什么——为什么——你问这个问题的细节,那么也许我们可以为它量身定做一个答案。

    推荐文章