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
感謝傑夫! Parms現在可見。現在出現錯誤: 當IDENTITY_INSERT設置爲OFF時,無法在表'QUOTEDETAIL'中插入標識列的顯式值。我在哪裏更改Identity_Insert? – SidC 2010-05-09 05:13:42
從我的過程中可以推斷出,QuoteDetail表的ID列的值應該與最後插入的@quoteID匹配,但它是一個自動遞增的IDENTITY列。這對我沒有意義 - 我會建議讓熟悉該應用程序的人查看您使用QuoteDetail表的方式。這裏是如何做到這一點的鏈接 - http://msdn.microsoft.com/en-us/library/aa259221(SQL.80).aspx - 但它似乎不是正確的做法。 – 2010-05-10 03:14:10