选择没有连接的所有表

时间:2017-03-08 16:43:13

标签: c# sql visual-studio

目标是从所有表中选择所有表并将其存储在数据集中。我有一个MS访问数据库,似乎有独立(非相关)表。我在c#中的选择查询目前如下所示:

" SELECT * FROM tableA" +" SELECT * FROM tableB" + ...等等但我在FROM条款"中不断出现错误#34;消息。

如何在不使用JOIN的情况下从数据库中的所有表中进行选择?我可以创建一个独立的SELECT语句并存储在每个表的独立数据集中,但必须有更好的方法吗?

我已经看到这是通过存储过程实现的,因为该过程可以只是

Create Procedure myProc
as
Begin
    SELECT * FROM tableA

    SELECT * FROM tableB

    SELECT * FROM tableC
END

如何使用C#

中的查询字符串实现此目的

提前致谢。

2 个答案:

答案 0 :(得分:1)

试试这个:

How to fill Dataset with multiple tables?

您要查看的代码是:

SqlDataAdapter adapter = new SqlDataAdapter(
      "SELECT * FROM Customers; SELECT * FROM Orders", connection);
adapter.TableMappings.Add("Table", "Customer");
adapter.TableMappings.Add("Table1", "Order");

adapter.Fill(ds);

答案 1 :(得分:-1)

你可以这样做,但这可能不是理想的解决方案。在第一个选择中使用最大列数的表并用null替换其余的列,同时将所有列转换为相同的数据类型

select 1,'2016-01-05','TestA','1500.00',2500,150
union all 
select 1,'2016-01-05','TestA','1200.00',null,null
union all
select 1,'2016-01-05','TestA','1300.00',null,null