C# 在SQL中传递给存储过程的参数

C# 在SQL中传递给存储过程的参数,c#,asp.net,sql,stored-procedures,C#,Asp.net,Sql,Stored Procedures,我有一个SQL过程,我正在从我的c代码调用它 这是我的程序: ( @IP_No varchar(15), @Indent_No varchar(20) ) AS BEGIN set @Indent_No = (SELECT IndentId from IdTable) INSERT INTO InsertData(IP_No,Indent_No) VALUES(@IP_No,@Indent_No) Update IdTable set IndentId=IndentId+1;

我有一个SQL过程,我正在从我的c代码调用它

这是我的程序:

(
@IP_No varchar(15),       
@Indent_No varchar(20)
)
AS
BEGIN
set @Indent_No = (SELECT IndentId from IdTable)

INSERT INTO InsertData(IP_No,Indent_No)
VALUES(@IP_No,@Indent_No)

Update IdTable set IndentId=IndentId+1;

END
基本上,我希望我的ID从一个数据库中被提取出来,在这个数据库中我不断增加ID。 它抛出以下错误:

过程或函数需要的参数@Indent_No不是 供应


请帮忙

由于只在存储过程内部使用
@Indent\u No
,因此不需要将其声明为输入参数。您需要在存储过程的主体中声明它

CREATE PROCEDURE InsertData
(
@IP_No varchar(15)
)
AS
BEGIN

DECLARE @Indent_No varchar(20)

set @Indent_No = (SELECT IndentId from IdTable)

INSERT INTO InsertData(IP_No,Indent_No)
VALUES(@IP_No,@Indent_No)

Update IdTable set IndentId=IndentId+1;

END
CREATE PROCEDURE InsertData
(
@IP_No varchar(15)
)
AS
BEGIN

DECLARE @Indent_No varchar(20)

set @Indent_No = (SELECT IndentId from IdTable)

INSERT INTO InsertData(IP_No,Indent_No)
VALUES(@IP_No,@Indent_No)

Update IdTable set IndentId=IndentId+1;

END