C# SQL Resultset返回带有*运算符的表名,而在指定列时不返回
我有一个存储过程,它将某些列选择到表中。然后,我从该表中选择*以检索结果 我的问题是,当我在tableName中使用SELECT*时,它返回表名和结果,但当我在tableName中选择DoodleName时,它返回一个空白表名 我想在代码中使用表名 这是我的C代码:C# SQL Resultset返回带有*运算符的表名,而在指定列时不返回,c#,sql-server,C#,Sql Server,我有一个存储过程,它将某些列选择到表中。然后,我从该表中选择*以检索结果 我的问题是,当我在tableName中使用SELECT*时,它返回表名和结果,但当我在tableName中选择DoodleName时,它返回一个空白表名 我想在代码中使用表名 这是我的C代码: DataTable dataTable = new DataTable(); using (SqlCommand command = new SqlCommand("doodle", c
DataTable dataTable = new DataTable();
using (SqlCommand command = new SqlCommand("doodle", connection))
{
command.CommandType = CommandType.StoredProcedure;
try
{
if (connection.State == ConnectionState.Closed)
openConnectionString(connection);
SqlDataReader reader = command.ExecuteReader();
dataTable.Load(reader);
reader.Close();
}
catch (Exception ex)
{
userConnectionErrorMessage = "Error Retrieving results. " + ex.Message;
}
finally
{
if (connection.State == ConnectionState.Open)
connection.Close();
}
以下是返回表名的存储过程:
SELECT *
INTO [#table]
FROM tblDoodle d
RIGHT OUTER JOIN tblRandom r
ON d.DoodleID = d.DoodleID
WHERE r.RandomID LIKE 1
AND d.Active LIKE 0;
SELECT *
FROM #table;
SELECT d.DoodleName
INTO [#table]
FROM tblDoodle d
RIGHT OUTER JOIN tblRandom r
ON d.DoodleID = d.DoodleID
WHERE r.RandomID LIKE 1
AND d.Active LIKE 0;
SELECT *
FROM #table;
以下是不返回表名的存储过程:
SELECT *
INTO [#table]
FROM tblDoodle d
RIGHT OUTER JOIN tblRandom r
ON d.DoodleID = d.DoodleID
WHERE r.RandomID LIKE 1
AND d.Active LIKE 0;
SELECT *
FROM #table;
SELECT d.DoodleName
INTO [#table]
FROM tblDoodle d
RIGHT OUTER JOIN tblRandom r
ON d.DoodleID = d.DoodleID
WHERE r.RandomID LIKE 1
AND d.Active LIKE 0;
SELECT *
FROM #table;
我不知道如何让它工作。我也认为这是一个非常有趣的问题。我可能可以使用一种变通方法来完成这项工作,但这比它应该做的更让我困扰。我不知道您在问什么,或者为什么要将LIKE用于整数,或者为什么要使用外部联接,然后使用谓词将其转回到内部联接。为什么不尝试:1删除into[表]以查看每个查询返回的结果,和2使用真实/非临时表查看是否存在不同的行为。