Вложенная ниже хранимая процедура написана на SQL Server 2005. Моей целью является вызов этого sproc из моего веб-приложения ASP.NEt с помощью элемента управления мастером. Я новичок в SQL Server и особенно для хранимых процедур. Я не уверен, почему мои параметры недоступны для веб-приложения и не отображаются в дереве SSMS в качестве параметра под моим именем sproc. Можете ли вы помочь мне исправить sproc ниже, чтобы параметры были правильно созданы и доступны для использования в моем веб-приложении?Параметры хранимой процедуры не доступны после объявления
Спасибо, Sid
хранимых процедур Синтаксис:
USE [Diel_inventory]
GO
/****** Object: StoredProcedure [dbo].[AddQuote] Script Date: 05/09/2010 00:31:10 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER procedure [dbo].[AddQuote] as
Declare @CustID int,
@CompanyName nvarchar(50),
@Address nvarchar(50),
@City nvarchar(50),
@State nvarchar(2),
@ZipCode nvarchar(5),
@Phone nvarchar(12),
@FAX nvarchar(12),
@Email nvarchar(50),
@ContactName nvarchar(50),
@QuoteID int,
@QuoteDate datetime,
@NeedbyDate datetime,
@QuoteAmt decimal,
@ID int,
@QuoteDetailPartID int,
@PartNumber float,
@Quantity int
begin
Insert into dbo.Customers
(CompanyName, Address, City, State, ZipCode, OfficePhone, OfficeFAX, Email, PrimaryContactName)
Values (@CompanyName, @Address, @City, @State, @ZipCode, @Phone, @FAX, @Email, @ContactName)
set @CustID = scope_identity()
Insert into dbo.Quotes
(fkCustomerID,NeedbyDate,QuoteAmt)
Values(@CustID,@NeedbyDate,@QuoteAmt)
set @QuoteID = scope_identity()
Insert into dbo.QuoteDetail
(ID) values(@ID)
set @ID=scope_identity()
Insert into dbo.QuoteDetailParts
(QuoteDetailPartID, QuoteDetailID, PartNumber, Quantity)
values (@ID, @QuoteDetailPartID, @PartNumber, @Quantity)
END
Спасибо Джефф! Пармы теперь видны. Теперь получаем ошибку: Невозможно вставить явное значение для столбца идентификатора в таблице «QUOTEDETAIL», если для параметра IDENTITY_INSERT установлено значение OFF. Где я могу изменить Identity_Insert? – SidC
Из того, что я могу сделать из вашей процедуры, ваша таблица QuoteDetail имеет столбец идентификатора, значения которого должны соответствовать последнему вставленному @quoteID, но это автоинкрементный столбец IDENTITY. Это не имеет смысла для меня - я бы предложил, чтобы кто-то, кто знаком с обзором приложения, использует таблицу QuoteDetail. Вот ссылка, как это сделать -http: //msdn.microsoft.com/en-us/library/aa259221 (SQL.80) .aspx - но это просто не похоже на правильную вещь. –