VC#2008:从DataTable中获取表名到ComboList/如何合并来自2个MDB的表?

VC#2008:从DataTable中获取表名到ComboList/如何合并来自2个MDB的表?,c#,ms-access,datagridview,datatable,C#,Ms Access,Datagridview,Datatable,我正在编写的程序的目的就是为了解决这个问题: 有两个用户,每个用户保存到.MDB文件。一个用户拥有一半的更新/正确信息(另一半已过时),另一个用户拥有一半的信息(另一半已过时) User1:25%+25%=50%所需的当前信息其他50%已过时 User1处理4项中的2项 User2:25%+25%=50%当前需要的信息其他50%已过时 User2处理4项中的2项 我需要从User1中提取50%(4项中的2项),然后将其添加到User2中,使其100%为当前(4项中的4项) 它们的SQL样式表结构

我正在编写的程序的目的就是为了解决这个问题:

有两个用户,每个用户保存到.MDB文件。一个用户拥有一半的更新/正确信息(另一半已过时),另一个用户拥有一半的信息(另一半已过时)

User1:25%+25%=50%所需的当前信息其他50%已过时 User1处理4项中的2项

User2:25%+25%=50%当前需要的信息其他50%已过时 User2处理4项中的2项

我需要从User1中提取50%(4项中的2项),然后将其添加到User2中,使其100%为当前(4项中的4项)

它们的SQL样式表结构(无论如何应该)是相同的(但如果可能的话,我想提供一个事件,其中添加了一个新表,我知道)

如果我能找到如何从DataTable中获取所有表名,我就可以系统地对DataTable进行数组,并用我知道需要更新的另一个.MDB文件中的表替换这些表。我知道DataSet有“DataSet.Tables”…但这对我帮助不大

如果我能做到这一点,我还可以将表添加到组合框中,并在组合框中显示的位置创建功能,这就是我将在数据网格中列出的表

如果你们中有人对如何着手做这件事有任何想法(或者如果你们甚至理解我说的话),请让我知道。我已经完成了70%的项目,这些似乎是我最后的逻辑障碍。我想我解释对了

  • 如何仅列出表名 在DataTable对象中
  • 关于从.MDB文件中取出特定表并将其添加到另一个.MDB文件中,您有什么想法
  • 如何输入包含所有表名的ComboList下拉框…当我更改表名时,它会在Datagrid上列出这些内容
  • 有没有一种方法可以列出Datagrid上的表,当您单击一个表时,它会列出该表的内容(有点像树结构) 编辑:
    我认为他是对的!我认为数据表只是一个表,而数据集是一组表。考虑到这一点,如何将.MDB文件中的所有表列在数据集中?这将完美地解决我的问题。

    我认为DataTable对象只是一个表,而DataSet包含一对多的DataTable

    如果要查找DataTable的实际名称,可以通过
    DataTable.TableName
    属性访问该名称

    编辑:如果要将DataTables添加到DataSet对象中,只需创建一个新的DataSet,然后使用.add()方法

    然后,您应该能够通过访问每个DataTable的TableName属性来循环数据集并检索表名:

    For each table as DataTable in DS.Tables
        Console.Writeline(table.TableName)
    Next
    

    下次,不要把你所有的问题都放在标题里……最后,什么是表格?(辛普森参考资料)我想当它要求详细说明时,我太认真了。对不起,我是新来的@Remou:为什么要系统地删除MDB标签,并用MS-ACCESS替换它们?这是有误导性的,因为“MDB”通常只是指“Jet/ACE”,即数据库引擎,而不是访问。我认为你让事情变得更糟了。您是否考虑过用“MS-JET/ACE”标签替换它们?这是某个有组织的标记编辑项目的一部分吗?如果是这样的话,我们在哪里可以找到讨论?请看我认为你是对的!考虑到这一点。。。如何将所有数据表添加到数据集中?很抱歉,如果我的代码是用VB编写的,这是我工作时一直使用的语言,因此每次在这里编写代码时,我似乎都忘记了,总是使用VB版本。如果你只是把它转换成C#语法,应该没问题。那么我可以把所有的表放在一个.Txt中…循环它们…将它们添加到DataTable,然后将其添加到数据集吗?这将起作用,这是令人兴奋的,但我希望有一种方法可以动态地做到这一点!哈哈,真有趣…我都没意识到。C#>VB:)
    For each table as DataTable in DS.Tables
        Console.Writeline(table.TableName)
    Next