vb.net - 如何从 VB.NET 2008 中的数据表中删除多行?

标签 vb.net ado.net

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

    相关文章:

    .net - 为什么即使页面的 EnableSessionState ="False"ASP.NET 仍然访问状态服务器,但仅适用于 VB.NET 站点,而不适用于 C# 站点?

    vb.net 将 datagridview 列类型更改为组合框

    asp.net - 如何使用 DataTable 中的信息填充 DropDownList 的值和文本字段?

    c# - 如何检查 SqlBulkCopy 上的列映射?

    vb.net - .NET - 有没有办法以编程方式填充强类型数据集中的所有表?

    c# - 更改数据表中的行位置或移动数据表中的行

    vb.net - 字节到字符串 - 模糊字符

    asp.net - 从DataTable中删除空行的方法?

    c# - 如何通过SqlConnection获取最后执行的SQL查询?

    c# - 如何用具有相同主键的本地数据库表更新远程表?