如何在不循环的情况下从VB.NET 2008中的数据表中删除多行?

  • 我不想从数据库中删除。
  • 我想从本地数据表中删除。
  • 我知道Select方法,也知道Remove,也知道在方法中删除它。但这需要循环从数据表中删除行。

  • 我有40000行,我想从该数据表中删除选定的1000行。

    最佳答案

    我不知道这可以直接实现。在数据表上没有删除命令将执行此操作。

    您可以尝试这样的事情。您选择要保留到临时表中的记录,清除原始表,然后将临时表合并回到原始表中。

    Dim dtTemp As DataTable = ds.Tables("YourTable").Select("RecordsToKeep='This'").CopyToDataTable
    ds.Tables("YourTable").Clear()
    ds.Tables("YourTable").Merge(dtTemp)
    dtTemp.Dispose()
    

    这是我能想到的问题的最佳答案。似乎您可能以一种不寻常的方式使用了数据表。通常,最好不要填充记录开头,或者在将内容保存到目标位置时将其过滤掉。可以是XML文件,SQL或其他任何文件。

    当然,循环方法将是最有效的。这可能不是最快的方法,但是对于仅4K行,它可能已经足够好了。

    关于vb.net - 如何从VB.NET 2008中的数据表中删除多行?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2779080/

    10-13 06:37
    查看更多