繁体   English   中英

SQL给出查询结果表名称而不创建新表

[英]SQL give query result table name without creating new table

我有一个存储过程,该过程创建了两个表的数据集。 我从c#内部调用此存储过程,如下所示:

DataTable mytable1 = myDataSet.tables[0];
DataTable mytable2 = myDataSet.tables[1];

我希望能够将“表名”传递给dataset.tables函数,因为我想象到存储过程将有一天将其他表返回给数据集。

这里也有非常类似的问题,例如: 选择后给表命名 ,我发现了其他帮助站点,例如: http : //odetocode.com/articles/365.aspx

但是我找到的所有答案最终都会创建其他表或表变量。 我不想创建任何新表或变量,只想为查询输出创建别名。

我尝试在SQL存储过程中为表赋予别名,但没有成功。 在c#中出现的名称分别是“ Table”和“ Table1”。

关于存储过程的其他所有功能都可以正常运行,我只希望它为输出表返回不同的名称。 我已经尝试了SQL代码:(为简单起见,此处括号中的条件)

SELECT * FROM myTable1 AS myTable1 WHERE (conditions)
ORDER BY (field) ASC

SELECT * FROM myTable2 INNER JOIN myTable1 ON (join on id field) WHERE (conditions)
ORDER BY (field) ASC

当前的SQL代码仍然会导致c#tableName字段包含“ Table”和“ Table1”。

在不创建其他表或表变量的情况下重命名这些查询输出是否完全不可能?

未类型化的数据集(如您的情况)不会为数据表提供任何表名。 它将被设置为默认值。 (即table1等)。 由于适配器/读取器仅填充模式中的结果行和列。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM