【问题标题】:vb.net compare two table, insert the result into new tablevb.net比较两个表,将结果插入新表
【发布时间】:2014-01-22 15:48:27
【问题描述】:

我有两个相同的表,由 3 个字段组成:ID、TID 和 ITEM.. ID 充当主键,TID 标识 ITEM 组。每个 TID 可以有不同数量的 ITEM。

我想将 2 个相同的表与类似的条件进行比较

  1. 检查表 1 中按 TID 分组的每个项目到表 2 中按 TID 分组的每个项目

    如果表 1。分组Item在table2中存在N个,通过查询INSERT SELECT插入到新表中

    例如在屏幕截图中,C - F -A 在表 2 中出现了 3 次,因此它们将被插入到新表中..

可以用mysql查询吗?

我已经尝试过使用程序,将两个表填充到两个二维数组中,将它们与简单的IF CLAUSE 进行比较,得到所需的结果.. 效果很好..

但问题是,当我使用庞大的数据库时,完成它需要荒谬的时间..

当我比较第一个二维数组(table1 有 2k 条记录)和第二个数组(table2 有 870 条记录)时,需要 2 小时才能完成!

这是实际的数据库

这是我已经尝试过的,将上面的两个表填充到二维数组中。在为两个二维数组分配表记录时,我还包括IF CLAUSE 以检查第一个二维数组的元素是否有 N 次出现在第二个二维数组中,INSERT SELECT 查询将被执行..

上面第一个二维数组中的黄色阻塞节点col,将被插入到新表中,因为它在第二个二维数组中出现了3次,

数字 3 来自用户输入

但由于我无论如何都在使用数据库对象,这也花费了我昂贵的性能和时间,我使用的是 vb.net 2005

我相信有其他方法可以解决这个问题.. 请大家告诉我方法如何?使用 mysql 查询或其他比我尝试过的执行速度更快的方法?

向我致以最诚挚的问候,谢谢..

【问题讨论】:

    标签: mysql vb.net compare


    【解决方案1】:

    使用 linq 它可以完成所有的 mysql 查询。你可以在 msdn 上找到很好的文档。只需使用 mysql 服务器构建数据库并使用 linq 或实体,它们都会为您执行所有命令。这样,您可以进行数据绑定并保存该信息并提取它,或者如果您有更多问题,我有一个 c# 中的代码副本,它使用表格作为联系信息,我可以看到你

    这是一个指向 GitHub 的链接,其中包含使用 Linq 的 C# 版本 https://github.com/psychotiic/WebContactAppUsingLinq.cs

    【讨论】:

    • 谢谢先生的回答。我忘了提,但我不擅长 linq,因为它对我来说是新的,即使现在我正在使用 vs 2005。所以你能建议我在 LINQ 之外的另一个解决方案吗?谢谢你
    【解决方案2】:

    您将能够将 linq 与我刚刚提供的代码一起使用,即使它的 C# 很容易理解,如果不是,您可以在网络上免费找到大量 C# - VB 代码更改器。

    【讨论】:

    • 我真的很感谢你的回答,兄弟,将代码包含在.. 但我仍在使用 LINQ 不支持的 vb 2005 .. 升级到更高版本的 vs 是一项艰巨的工作对我来说,因为我的项目解决方案已经很大了。恐怕升级 vs 会使我到目前为止所做的所有代码都出错..
    • 那么复制代码然后升级它,我相信你会得到一两个错误,因为有更好的方法和最有可能的新库来做事而没有所有这些编码你已经在使用,。我相信您可以使用 .net 4.0 或 4.5 显着压缩项目规模
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-16
    • 1970-01-01
    • 2013-08-27
    • 1970-01-01
    相关资源
    最近更新 更多