2010-05-09 28 views
1

下面粘貼的是用SQL Server 2005編寫的存儲過程。我的意圖是通過使用嚮導控件從我的ASP.NEt Web應用程序中調用此存儲過程。我是SQL Server的新手,特別是存儲過程。我不確定爲什麼我的參數對Web應用程序不可用,並且在我的sproc名稱下作爲參數在SSMS樹視圖中不可見。你能幫我糾正下面的sproc,以便參數被正確實例化並可用於我的web應用程序嗎?聲明後存儲過程參數不可用

感謝, 希德

存儲過程的語法:

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

感謝傑夫! Parms現在可見。現在出現錯誤: 當IDENTITY_INSERT設置爲OFF時,無法在表'QUOTEDETAIL'中插入標識列的顯式值。我在哪裏更改Identity_Insert? – SidC 2010-05-09 05:13:42

+0

從我的過程中可以推斷出,QuoteDetail表的ID列的值應該與最後插入的@quoteID匹配,但它是一個自動遞增的IDENTITY列。這對我沒有意義 - 我會建議讓熟悉該應用程序的人查看您使用QuoteDetail表的方式。這裏是如何做到這一點的鏈接 - http://msdn.microsoft.com/en-us/library/aa259221(SQL.80).aspx - 但它似乎不是正確的做法。 – 2010-05-10 03:14:10