SQL Server 2008

本文关键字:2008 Server SQL | 更新日期: 2023-09-27 18:25:33

我正在学习存储过程并面临一些问题。

我的问题是,

我已经在SP中编写了插入和更新查询,如下所示,

create proc pateintupdate
(
@regno int,
@regdate datetime,
@pname varchar(30),
@fhname varchar(30),
@paddress varchar(75),
@city varchar(20),
@mnum varchar(14),
@gender varchar(8),
@mstatus varchar(15),
@age int
)
as
begin
insert into patiententry(regno,regdate,name,fname,address,city,mnum,gender,mstatus,age) values(@regno,@regdate,@pname,@fhname,@paddress,@city,@mnum,@gender,@mstatus,@age);
update patiententry set regdate=@regdate,name=@pname,fname=@fhname,address=@paddress,city=@city,mnum=@mnum,gender=@gender,mstatus=@mstatus,age=@age where regno=@regno
end

并且我需要使用存储过程OUT参数从数据层访问这些查询。

如何访问以上两个查询?

SQL Server 2008

@age int,
@PK_New int输出
)

set@PK_New=scope_identity()

在存储过程中。

command.Parameters.Add("@PK_New",SqlDbType.Int)
command.Parameters["@PK_New"].Direction=ParameterDirection.Output;

int recordsAffected=转换.ToInt32(command.ExecuteNonQuery());

int recordId=Convert.ToInt32(command.Parameters["@PK_New"].Value);

在C#应用程序中。