首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >需要关于数据库表合并工具的建议

需要关于数据库表合并工具的建议
EN

Stack Overflow用户
提问于 2020-03-20 08:42:06
回答 1查看 45关注 0票数 1

我已经创建了一个正在使用Excel (VBA)的工具,但是我想让它独立于Excel,因为Excel更新包等可能会出现不同的问题。基本上,为了消除可能出错的另一个因素。

我当前的Excel应用程序:

将两个数据库表(客户)导入到两个不同的工作表( sheet2

  • Merging和sheet1 )中,通过比较第2列(名称)和6 (Postanumber)

  • If,可以将这两个表导入到另一个sheet3,这两个表有重复(两个客户中都有部分相同的客户),VBA代码输入到sheet3

  • After sheet3,只有一个值准备好了,我正在为sheet3执行foreach循环,以便将所有客户导出到另一个系统

我从C#代码开始,它能够连接到数据库,并通过合并两个表从两个表中获取所有客户。

从DataGrid开始得到一个想法:

代码语言:javascript
复制
private Task<DataView> GetDataAsync()
{
    return Task.Run(() =>
    {

        string connectionStringDE = "Driver={Pervasive ODBC Client Interface};ServerName=DE875;dbq=@DEDBFS;Uid=DEUsername;Pwd=DEPassword;";
        string queryStringDE = "select NRO,NAME,NAMEA,NAMEB,ADDRESS,POSTA,POSTN,POSTADR,COMPANYN,COUNTRY,ID,ACTIVE from COMPANY";
        string connectionStringFR = "Driver={Pervasive ODBC Client Interface};ServerName=FR875;dbq=@FRDBFS;Uid=FRUsername;Pwd=FRPassword;";
        string queryStringFR = "select NRO,NAME,NAMEA,NAMEB,ADDRESS,POSTA,POSTN,POSTADR,COMPANYN,COUNTRY,ID,ACTIVE from COMPANY";

        DataTable dataTable = new DataTable("COMPANY");
        // using-statement will cleanly close and dispose unmanaged resources i.e. IDisposable instances
        using (OdbcConnection dbConnectionDE = new OdbcConnection(connectionStringDE))
        {
            dbConnectionDE.Open();
            OdbcDataAdapter dadapterDE = new OdbcDataAdapter();
            dadapterDE.SelectCommand = new OdbcCommand(queryStringDE, dbConnectionDE);

            dadapterDE.Fill(dataTable);

        }
        using (OdbcConnection dbConnectionFR = new OdbcConnection(connectionStringFR))
        {
            dbConnectionFR.Open();
            OdbcDataAdapter dadapterFR = new OdbcDataAdapter();
            dadapterFR.SelectCommand = new OdbcCommand(queryStringFR, dbConnectionFR);

            var newTable = new DataTable("COMPANY");
            dadapterFR.Fill(newTable);

            dataTable.Merge(newTable);

        }

        return dataTable.DefaultView;
    });
}

然而,由于缺乏知识,我不太确定在C#中应该使用什么方法来存储所有数据(sheet3,有1000多条记录),然后再导出到另一个带有foreach的系统?我应该创建本地数据库还是可以使用列表?我想我不应该将两个表中的所有值导入到两个不同的列表/数据库表中,然后将它们与另一个表进行比较/合并(就像我在当前Excel安装程序中所做的那样),但是可以在连接、合并和分配给list/database表时执行此操作吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-03-20 08:49:42

然而,由于缺乏知识,我不太确信在导出到另一个具有

的系统之前,我应该使用什么方法在C#中存储所有数据(sheet3,有1000多条记录)?

“我应该使用什么”是基于主观/意见的,不能在这里得到真正的回答。可以公平地说,任何您可以找到的合理教程,例如泛型集合或数据集/数据集,都可以轻松地处理这么小的数据集。

我应该创建本地数据库还是可以使用列表?

您可以这样做,但我只会使用一个数据库,如果我是持久化的信息。在我看来,您对数据存储的需求是暂时的,所以我只需要使用内存中的数据集合。

我想我不应该将两个表的所有值导入到两个不同的列表/数据库表中,然后比较/合并到另一个表中

我看不出你为什么不应该

,但可以在连接、合并和分配给list/数据库表时执行此操作?

当然可以通过将一组数据上传到另一组数据所在的数据库中,并让数据库进行合并,从而合并两组数据。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60770913

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档