Sql server 2005 声明后存储过程参数不可用

Sql server 2005 声明后存储过程参数不可用,sql-server-2005,stored-procedures,parameters,Sql Server 2005,Stored Procedures,Parameters,下面粘贴的是用SQLServer2005编写的存储过程。我的目的是通过使用向导控件从ASP.NEt web应用程序调用此存储过程。我不熟悉SQL Server,尤其是存储过程。我不确定为什么我的参数对web应用程序不可用,并且在SSMS treeview中作为存储过程名称下的参数不可见。您能否帮助我更正下面的存储过程,以便正确实例化参数并可在我的web应用程序中使用 谢谢, 希德 存储过程语法: USE [Diel_inventory] GO /****** Object: StoredPro

下面粘贴的是用SQLServer2005编写的存储过程。我的目的是通过使用向导控件从ASP.NEt web应用程序调用此存储过程。我不熟悉SQL Server,尤其是存储过程。我不确定为什么我的参数对web应用程序不可用,并且在SSMS treeview中作为存储过程名称下的参数不可见。您能否帮助我更正下面的存储过程,以便正确实例化参数并可在我的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

您的语法稍有错误(请参阅注释):


谢谢杰夫!Parms现在可见。现在获取错误:当identity_insert设置为OFF时,无法在表“QUOTEDETAIL”中为identity列插入显式值。在何处更改标识插入?从您的过程中可以推断,QuoteDetail表有一个ID列,其值应与上次插入的@quoteID匹配,但它是一个自动递增的标识列。这对我来说没有意义-我建议让熟悉应用程序的人来检查您如何使用QuoteDetail表。下面是如何做的链接--但这似乎不是正确的做法。
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