这里的问题是使用嵌套的GridView或使用SQL UNION从两个表“预先组装”数据,以便使用单个GridView显示它,使其显示如下图所示。
我正在开发一个ASP.Net项目,我正在开发一个表单来匹配两个数据库中的表之间的数据(这些表可能在同一个数据库中,并没有太大的区别)。我有一个预先计算可能匹配的SQL存储过程。我正在开发的表单将向用户显示这些可能的匹配,然后用户将决定一个数据库中的哪一行对应于另一个数据库中的哪一行。匹配是基于数据相似性完成的。
看起来像这样:
搜索框用于手动检索匹配(如果有必要)。 “操作”列将包含用于执行匹配的按钮。但在这里,我们不需要关心这些。
当然,我可以使用嵌套的GridViews或嵌套的Repeater来实现这一点,但它是否正确的方法呢?这意味着向数据库发出一个查询以从数据库DB1中检索行,然后为DB1中的每一行向数据库DB2发出一个查询。通常,DB1中会有数百或数千行;让我们说高达2000.此外,有些人建议使用Repeater而不是GridViews,但是如果主数据源需要分页(在我的情况下是DB1)呢?
由于DB1和DB2中的信息类似,我认为我可以使用UNION查询来合并来自DB1和DB2的数据。我能够做到这一点,除了我不知道如何使用这种方法进行分页。在这种情况下使用分页,我冒着将一个DB1条目的一些DB2匹配分成两页的风险,我想避免这种情况。