将数据集保存到SQL数据库的更有效方法

时间:2011-11-09 15:18:44

标签: asp.net vb.net

我正在遍历我的数据集以保存我的数据库,我认为这可能不是最好的方法。这样做是否有更高的资源效率?感谢。

For i As Integer = 0 To CO.Tables("CO_Del").Rows.Count - 1 'CO is my DataSet

    dbCommand.Parameters.Clear()

    AddInParameter(dbCommand, "@IsDelete", DbType.Boolean, 0, DBNull.Value)
    dbCommand.Parameters("@IsDelete").Value = True

    AddInParameter(dbCommand, "@IsUpdate", DbType.Boolean, 0, DBNull.Value)
    dbCommand.Parameters("@IsUpdate").Value = False

    AddInParameter(dbCommand, "@Out_Code", DbType.String, 50, DBNull.Value)
    dbCommand.Parameters("@CO_Code").Value = CO.Tables("CO_Del").Rows(i).Item(0).ToString

    ExecuteNonQuery(dbCommand)

Next i

3 个答案:

答案 0 :(得分:0)

您可以使用GetChanges方法。为您节省很多循环。
如果无效则重置值也很酷,最后'AcceptChanges'继续你的工作而不重新绑定

答案 1 :(得分:0)

SQLBulkCopy。它速度非常快,非常适合执行批量更新。

答案 2 :(得分:0)

在我看来,这里有两个选项:TableAdapter或SqlDataAdapter。 我更喜欢TableAdapter,因为它使用类型安全数据集。 TableAdapters通常包含Fill和Update方法来获取和更新数据库中的数据。