Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/303.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# SQL在不创建新表的情况下给出查询结果表名_C#_Sql_Sql Server_Stored Procedures - Fatal编程技术网

C# SQL在不创建新表的情况下给出查询结果表名

C# SQL在不创建新表的情况下给出查询结果表名,c#,sql,sql-server,stored-procedures,C#,Sql,Sql Server,Stored Procedures,我有一个存储过程,它创建两个表的数据集。我从c#中调用此存储过程,如下所示: DataTable mytable1 = myDataSet.tables[0]; DataTable mytable2 = myDataSet.tables[1]; 我希望能够将“表名”传递到dataset.tables函数中,因为我想象存储过程有一天会将其他表返回到dataset中 这里也有类似的问题,例如: 我还发现了其他帮助网站,如: 但我找到的所有答案最终都会创建额外的表或表变量。我不想创建任何新的表或变量

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

DataTable mytable1 = myDataSet.tables[0];
DataTable mytable2 = myDataSet.tables[1];
我希望能够将“表名”传递到dataset.tables函数中,因为我想象存储过程有一天会将其他表返回到dataset中

这里也有类似的问题,例如: 我还发现了其他帮助网站,如:

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

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

关于存储过程函数的所有其他内容都正确,我只希望它为输出表返回不同的名称。 我已经尝试过SQL代码:(为了简单起见,这里括号中的条件)

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


如果不创建其他表或表变量,是否完全不可能重命名这些查询输出?

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

您需要使用强类型数据集(请参阅:)以按名称引用Tables集合中的项。非常感谢,这是我需要知道的。
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