2013-07-30 1 views
-1

Я изучаю хранимую процедуру и сталкиваюсь с некоторыми проблемами.SQL Server 2008

Мой вопрос,

Я написал вставки и обновления запросов в 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 [email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected] where [email protected] 
end 

и мне нужно, чтобы получить доступ к этим запросы из уровня данных с хранимой процедурой OUT параметров.

Как получить доступ к двум запросам?

+0

На вашем уровне данных, что вы используете для доступа к базе данных? Кроме того, прежде чем вы сможете получить доступ к параметрам OUTPUT в хранимой процедуре, вам необходимо определить некоторые. – Tombatron

+0

Сэр, на самом деле я ничего не использую в слое данных, i – Mari

+2

Думаю, ясно, что вы действительно не знаете, о чем вы просите. – Tombatron

ответ

0

@age INT,
@PK_New INT Выход
)

множество @PK_New = SCOPE_IDENTITY()

в хранимой процедуре.

command.Parameters.Add ("@ PK_New", SqlDbType.Int);
command.Parameters ["@ PK_New"]. Направление = ParameterDirection.Output;

int recordsAffected = Convert.ToInt32 (command.ExecuteNonQuery());

int recordId = Convert.ToInt32 (command.Parameters ["@ PK_New"]. Значение);

в приложении C#.