2010-05-09 3 views
1

아래 붙여 넣기는 SQL Server 2005로 작성된 저장 프로 시저입니다. 내 의도는 마법사 컨트롤을 사용하여 ASP.NEt 웹 응용 프로그램에서이 sproc을 호출하는 것입니다. SQL Server를 처음 사용하고 특히 저장 프로 시저에 익숙합니다. 왜 내 매개 변수를 웹 응용 프로그램에서 사용할 수 없으며 내 sproc 이름에서 매개 변수로 SSMS treeview에 표시되지 않는지 확실하지 않습니다. 매개 변수가 올바르게 인스턴스화되어 내 웹 응용 프로그램에서 사용할 수 있도록 아래의 sproc을 수정하도록 도와 줄 수 있습니까?선언 한 후에 사용할 수없는 저장 프로 시저 매개 변수

감사합니다, 시드

저장 프로 시저 구문 :

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 

답변

2

귀하의 구문이 약간 잘못 (주석 참조)

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] 
--// notice I just start defining parameters... no DECLARE, and no AS 
@CustID int, 
@CompanyName nvarchar(50), 
@Address nvarchar(50), 
@City nvarchar(50), 
@State nvarchar(2), 
@ZipCode nvarchar(5), 
--//other parameters... 
as 
begin 

-- body of procedure 
end 
+0

감사합니다 제프! 지금 볼 수있는 파들. 이제 오류가 발생합니다 : IDENTITY_INSERT가 OFF로 설정된 경우 'QUOTEDETAIL'테이블의 ID 열에 대해 명시 적 값을 삽입 할 수 없습니다. Identity_Insert는 어디에서 바꿀 수 있습니까? – SidC

+0

귀하의 프로 시저에서 추측 할 수있는 것으로부터 QuoteDetail 테이블에는 마지막으로 삽입 된 @quoteID와 일치해야하는 ID 열이 있지만 자동 증가 IDENTITY 열입니다. 그건 나에게 이해가 안되네 - 당신이 QuoteDetail 테이블을 어떻게 사용하고 있는지 응용 프로그램에 익숙한 사람이 검토 할 것을 제안합니다. 이를 수행하는 방법에 대한 링크는 다음과 같습니다 .http : //msdn.microsoft.com/en-us/library/aa259221(SQL.80) .aspx -하지만 옳은 일이 아닌 것 같습니다. –

관련 문제