如何在VB.NET 2008中从数据表中删除多行?

Kul*_*MCA 8 vb.net ado.net

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

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

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

Bre*_*mer 11

我不知道这可以用一种简单的方式完成.数据表上没有删除命令可以执行此操作.

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

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

这是我能想到的问题的最佳答案.您似乎可能以不寻常的方式使用数据表.您通常最好不要开始填充记录,或者在将内容保存到目的地时将其过滤掉.无论是XML文件,SQL还是其他什么.

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