在SQL Server中,SELECT只返回一列

时间:2014-02-14 20:40:26

标签: sql sql-server-2008-express

我使用的是SQL Server 2008 Express。我有一个包含表Names的数据库。此表只有3列:ID, FirstName, LastName

我创建了一个存储过程:

CREATE PROCEDURE GetName AS
  SELECT 
      ID, FirstName, LastName 
  FROM Names

我在表格中有三条记录。执行查询时,输出仅显示列ID。无论我选择哪种列组合,查询始终会显示一列。

一些澄清:

我使用MS Visual Web Developer 2010,语言C#。我尝试用CTRL + ALT + F5执行查询(从上下文菜单执行命令)。列设计正确。

我在MSSQL Management Studio 2008中运行查询:      USE namesDB;      EXEC GetNames。 它工作正常(显示所有三列)。但是,当我尝试在MS WEB DEVELOPER中执行它时,返回,它显示,正如我所提到的,只有一列。

我只有我提到的桌子。每个领域都被填满。没有空列。

我哪里错了?

谢谢

1 个答案:

答案 0 :(得分:2)

create table t (ID int primary key, FirstName nvarchar(10), LastName nvarchar(10));
insert into t values (0, 'Adam','Ant');
insert into t values (1, 'Bob', 'Barker');
insert into t values (2, 'Charlie', 'Chaplin');

create procedure GetName as select ID, FirstName, LastName from t;

exec GetName

Result Set (3 items)
ID FirstName LastName 
0 Adam Ant 
1 Bob Barker 
2 Charlie Chaplin 

适合我(请注意,使用SQL Server 2012和LINQPad)。你必须以某种方式不做你认为你正在做的事情。或者表中可能没有数据?