2016-02-26 4 views
0

Я хочу получить ОДНО значение из разных запросов SELECT, я создал следующую процедуру хранения, но он продолжает давать мне ошибку, я добавил это в SQLDATAADAPTER, когда я проверяю добавление запроса значения, это дает мне ошибку преобразования от nvarchar до int, но я не использую int в процедуре магазина.Получить одно значение из нескольких запросов SQL

Таким образом, я делаю 4 небольших выделения, чтобы получить одно окончательное значение (номер позиции), каждый параметр будет привязан к Dropdownlist, который будет передавать идентификаторы, однако я не знаю, является ли это наилучшим подходом, или если я должен сделать что-то другое.

 @Group as nvarchar(50), 
     @Type as nvarchar(50), 
     @Brand as nvarchar(50), 
     @Art as nvarchar(50), 
     @Final as nvarchar(50) OUTPUT 
     AS 
    begin 
     SET NOCOUNT ON; 
     SELECT @group = codigo_group FROM item_group WHERE  (group_art_id = @group) 
     SELECT @type = codigo_type FROM item_type WHERE (type_art_id = @type) 
     SELECT @brand = codigo_brand FROM item_brand WHERE (brand_id = @brand) 
     SELECT @Art = format(COUNT(items.brand_id) +1, '0000') From items where [email protected] 

     Select @Final= @group + '-' + @type + '-' + @brand + @Art 
     RETURN @Final 

     END 
+0

Какую ошибку вы получаете? – dfundako

+0

Я думаю, что вам не хватает декларации. –

+0

Ошибка: там ошибка выполнения запроса. Проверьте синтаксис команды и, если она есть, типы и значения параметров и убедитесь, что они верны. Ошибка преобразования, пытаясь преобразовать значение nvarchar («желаемый результат») в тип int –

ответ

0

Я предполагаю, что у вас есть хранимая процедура, потому что нет декларации возврата.

Просто удалите окончательный return, потому что значение переходит в @final.

Вы можете заменить его return 0 или другим целым числом. Хранимые процедуры возвращают значение состояния, которое должно быть целым числом.

Если вы хотите вернуть значение, используйте create function и удалите выходной параметр.

+0

Пришлось фактически создать функцию для этого. благодаря –

0

У меня недостаточно комментариев, чтобы просто прокомментировать, но я подозреваю причину, по которой вы получаете ошибку, из-за RETURN @Final в вашей процедуре. RETURN - это статус (который является INT).

Смотрите следующее для более подробной информации: https://msdn.microsoft.com/en-us/library/ms378371(v=sql.110).aspx

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