2014-02-14 3 views
-3

Я использую SQL Server 2008 Express. У меня есть база данных с таблицей Names. Эта таблица имеет только 3 столбца: ID, FirstName, LastName.В SQL Server SELECT возвращает только один столбец

Я создал хранимую процедуру:

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

У меня есть три записи в таблице. Когда я выполняю запрос, на выходе отображается только идентификатор столбца. Независимо от того, какую комбинацию столбцов я выбираю, запрос всегда отображает один столбец.

Некоторые пояснения:

Я использую MS Visual Web Developer 2010, язык C#. Я пытаюсь выполнить запрос с помощью CTRL + ALT + F5 (команда Execute из контекстного меню). Колонки правильно спроектированы.

Выполняю запрос в MSSQL Management Studio 2008: ИСПОЛЬЗОВАТЬ namesDB; EXEC GetNames. Работает правильно (отображаются все три столбца). Но когда я пытаюсь выполнить его в MS WEB DEVELOPER, он возвращает, как я уже упоминал, только один столбец.

У меня есть только таблица, о которой я упоминал. Каждое поле заполнено. Пустой столбец нет.

Где я ошибаюсь?

Спасибо

+4

Проблема возникает, когда вы ** запускаете запрос ** или только ** выполняете процедуру **? – Alexander

+1

Можете ли вы показать, как вы управляете sproc? –

+0

запуск сценария, который вы отправили, создаст процедуру, теперь попробуйте EXEC GetName – markg

ответ

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). Вы должны как-то не делать то, что думаете, что делаете. Или, может быть, нет данных в вашей таблице?

+0

+1 для усилий по воспроизведению проблемы. –

Смежные вопросы