Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用一个查询的不同数据表?_C#_Ms Access_Datatable_Dataset_Oledb - Fatal编程技术网

C# 使用一个查询的不同数据表?

C# 使用一个查询的不同数据表?,c#,ms-access,datatable,dataset,oledb,C#,Ms Access,Datatable,Dataset,Oledb,假设我有两个表,Customer和Customer\u address。从一个查询中填充一个数据表很简单,但是否可以通过一个联接查询填充两个不同的数据表 例如: OleDbDataAdapter adapter = new OleDbDataAdapter(); adapter.SelectCommand = new OleDbCommand("SELECT a.CustomerID, b.CustomerEmail FROM Customer a INNER J

假设我有两个表,
Customer
Customer\u address
。从一个查询中填充一个数据表很简单,但是否可以通过一个联接查询填充两个不同的数据表

例如:

        OleDbDataAdapter adapter = new OleDbDataAdapter();
        adapter.SelectCommand = new OleDbCommand("SELECT a.CustomerID, b.CustomerEmail FROM Customer a INNER JOIN Customer_address b ON a.CustomerID = b.CustomerID WHERE a.CustomerID = 3", this.connection);
        DataSet ds = new DataSet();
        adapter.Fill(ds, "Customer");
现在我在
ds.Tables[“Customer”]
中有
CustomerID
CustomerEmail

是否可以在
表[“客户”]
中有
CustomerID
,在
表[“客户地址”]
中有
CustomerEmail
,而无需进行两次不同的查询?

请查看:

“多个结果集: 如果
DataAdapter
遇到多个结果集,它将在数据集中创建多个表。这些表的增量默认名称为
TableN
,以“Table”开头“对于
表0
。如果表名作为参数传递给Fill方法,则会为表提供一个增量默认名称
TableName n
,从
TableName 0
的“TableName”开始


因此,不能为第二个表指定正确的表名,因为它是从
Fill

中的单个参数派生而来的。如果要减少已完成的查询数,请尝试将它们聚合到存储过程或其他存储过程中。