我正在遍历我的数据集以保存我的数据库,我认为这可能不是最好的方法。这样做是否有更高的资源效率?感谢。
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
答案 0 :(得分:0)
您可以使用GetChanges方法。为您节省很多循环。
如果无效则重置值也很酷,最后'AcceptChanges'继续你的工作而不重新绑定
答案 1 :(得分:0)
见SQLBulkCopy。它速度非常快,非常适合执行批量更新。
答案 2 :(得分:0)
在我看来,这里有两个选项:TableAdapter或SqlDataAdapter。 我更喜欢TableAdapter,因为它使用类型安全数据集。 TableAdapters通常包含Fill和Update方法来获取和更新数据库中的数据。