Вот моя текущая реализация хранимой процедуры, которая возвращает статус заказа для данного Идентификатора заказа. Есть две ситуации,Как правильно проверить возвращаемое значение хранимой процедуры
- есть совпадающая ID заказа, и я буду получать соответствующий статус,
- нет никакого соответствует ID заказа (т.е. несуществующие ID заказа).
Мое замешательство заключается в том, как реализовать две функции элегантно/эффективно в одной хранимой процедуре, чтобы я возвращал согласованный идентификатор заказа для ситуации 1, а также указывал, что клиент не сопоставил идентификатор заказа в ситуации 2?
Я использую VSTS 2008 + C# + ADO.Net + .Net 3.5 как клиент и использую SQL Server 2008 как сервер.
CREATE PROCEDURE [dbo].[GetStatus]
@ID [nvarchar](256),
@Status [int] output
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
SELECT @Status = [Status]
FROM [dbo].[OrderStatus]
WHERE (@ID = [ID]);
END
спасибо заранее, Джордж
Спасибо, за ваше решение 1, я должен позвонить ExecuteNonQuery или позвонить ExecuteReader? – George2
Добро пожаловать! ExecuteReader выполнит эту работу за вас. –