我使用的是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中执行它时,返回,它显示,正如我所提到的,只有一列。
我只有我提到的桌子。每个领域都被填满。没有空列。
我哪里错了?
谢谢
答案 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)。你必须以某种方式不做你认为你正在做的事情。或者表中可能没有数据?