如何在不循环的情况下从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/