vb.net比较两个表,将结果插入到新表中

时间:2014-01-22 15:48:27

标签: mysql vb.net compare

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

我想将2个相同的表与

之类的条件进行比较
  1. 按表1中的TID按照TID检查每个分组的ITEM到表2中的TID每个分组的ITEM

    如果是table1。分组项目在表格2中与N一样多,它将通过查询INSERT SELECT

    插入到新表中

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

  2. 可以使用mysql查询吗?

    我已经尝试使用这个程序,将两个表填充到两个2d数组中,比较它们和简单的IF CLAUSE,得到所需的结果..它运行良好..

    但问题是,当我使用庞大的数据库时,需要花费很多时间才能完成..

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

    这是实际的数据库

    enter image description here

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

    enter image description here

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

    数字3来自用户输入

    但是因为我无论如何都在使用数据库对象,所以我花费了很多性能和时间,我正在使用 vb.net 2005

    我相信有这个问题的替代方法..请大家告诉我方法怎么样?使用mysql查询或其他方法可以比我尝试过的更快?

    对我表示最诚挚的问候,谢谢..

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

你将能够使用linq和我刚提供的代码,即使它的C#很容易理解,如果没有,你可以在网上免费找到大量的C# - VB代码转换器。