【发布时间】:2014-04-24 08:10:15
【问题描述】:
收到的错误是:
过程或函数 SPCustomerDetails 需要参数“@address”,但未提供该参数。
说明:在执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。
异常详细信息:System.Data.SqlClient.SqlException:过程或函数“SPCustomerDetails”需要参数“@address”,但未提供。
我的存储过程是:
ALTER PROCEDURE [dbo].[SPCustomerDetails]
(
@id varchar,
@title varchar(50),
@fname varchar(50),
@Lname varchar(50),
@mob varchar(50),
@email varchar(50),
@password varchar(50),
@address varchar(50),
@altemail varchar(50),
@gender varchar(50),
@dob varchar(50),
@city varchar(50),
@country varchar(50),
@state varchar(50),
@checked varchar(50),
@opr varchar(50)
)
as
begin
if @opr='BTNNEW'
INSERT INTO TblCustomer_Details
(FName,LName,Email,Password,Contact_No,checked)
VALUES
(@fname,@Lname,@email,@password,@mob,@checked)
else if @opr='BTNUPDATE'
Update TblCustomer_Details
set
Title=@title,
FName=@fname,
LName=@Lname,
Email=@email,
alt_Email=@altemail,
Address=@address,
Password=@password,
Gender=@gender,
DOB=@dob,
Contact_No=@mob,
Country=@country,
State=@state,
City=@city
where
Cust_ID=@id
else if @opr='BTNDELETE'
delete TblCustomer_Details
from TblCustomer_Details
where
Cust_ID=@id
执行程序:
con.ExeQry(" exec SPCustomerDetails '" + fname.Text.Trim() + "',N'" +
lname.Text.Trim() + "',N'" + pemail.Text.Trim() + "',N'" +
cpassword.Text.Trim() + "',N'" + mobile.Text.Trim() + "',N'" +
offers.Checked + "','" + opr.ToUpper() + "'");
【问题讨论】:
-
您的 proc 有 16 个强制参数,而您似乎只传递了大约 7 个。另外,参数化!
-
您实际上并没有提出问题,您只是发布了一个错误和一些代码;即使看起来没有必要,但它仍然是礼貌的。
-
但我想在第一次只传递 7 个参数,那我能做什么?
-
如果您不要求该参数,请传递 null