如何在不循环的情况下从 VB.NET 2008 中的数据表中删除多行?
Select
方法以及 Remove
并删除 at 方法。但这需要循环才能从数据表中删除行。 我有 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/