Hallo zusammen.
Ich habe eine Stored Procedure erstellt:
ALTER PROCEDURE dbo.GetDeadlineList(@userID int, @role varchar(10), @rowCount int output)
AS
IF @role='Patient'
SELECT Forename, Surname, Date, Name
FROM Patient, Deadline, Division
WHERE Patient.PatientID=@userID AND Patient.PatientID=Deadline.PatientID AND Deadline.DivisionID=Division.DivisionID
ELSE
SELECT Forename, Surname
FROM Patient, Deadline, Division
WHERE Patient.PatientID=@userID AND Patient.PatientID=Deadline.PatientID AND Deadline.DivisionID=Division.DivisionID
select @rowCount=@@ROWCOUNT
Nun möchte ich in meinem C#-Code zuerst @rowCount auslesen und speichern, damit ich ein Array für die Daten erstellen kann. Nun weiß ich aber nicht genau wie ich das anstellen soll. Habe bis jetzt folgenden C#-Code erstellt:
String procedure;
SqlParameter userIDSQL, roleSQL, rowCountSQL;
int rowCount = 0;
// Zugriff auf StoredProcedure vorbereiten
procedure = "GetDeadlineList";
cmd = new SqlCommand(procedure, con);
cmd.CommandType = CommandType.StoredProcedure;
// Parameter der StoredProcedure setzen
userIDSQL = cmd.Parameters.Add("@userID", SqlDbType.Int, 1);
userIDSQL.Direction = ParameterDirection.Input;
userIDSQL.Value = userID;
roleSQL = cmd.Parameters.Add("@role", SqlDbType.VarChar, 1);
roleSQL.Direction = ParameterDirection.Input;
roleSQL.Value = role;
rowCountSQL = cmd.Parameters.Add("@rowCount", SqlDbType.Int, 1);
rowCountSQL.Direction = ParameterDirection.Output;
// Ausführen der Anfrage
dr = cmd.ExecuteReader();
Nun habe ich die Anfrage ausgeführt und im DataReader gespeichert. Wie erhalte ich nun aus dem DataReader jedoch das @rowCount?
Viele Grüße
Maddi1986
Ich habe eine Stored Procedure erstellt:
ALTER PROCEDURE dbo.GetDeadlineList(@userID int, @role varchar(10), @rowCount int output)
AS
IF @role='Patient'
SELECT Forename, Surname, Date, Name
FROM Patient, Deadline, Division
WHERE Patient.PatientID=@userID AND Patient.PatientID=Deadline.PatientID AND Deadline.DivisionID=Division.DivisionID
ELSE
SELECT Forename, Surname
FROM Patient, Deadline, Division
WHERE Patient.PatientID=@userID AND Patient.PatientID=Deadline.PatientID AND Deadline.DivisionID=Division.DivisionID
select @rowCount=@@ROWCOUNT
Nun möchte ich in meinem C#-Code zuerst @rowCount auslesen und speichern, damit ich ein Array für die Daten erstellen kann. Nun weiß ich aber nicht genau wie ich das anstellen soll. Habe bis jetzt folgenden C#-Code erstellt:
String procedure;
SqlParameter userIDSQL, roleSQL, rowCountSQL;
int rowCount = 0;
// Zugriff auf StoredProcedure vorbereiten
procedure = "GetDeadlineList";
cmd = new SqlCommand(procedure, con);
cmd.CommandType = CommandType.StoredProcedure;
// Parameter der StoredProcedure setzen
userIDSQL = cmd.Parameters.Add("@userID", SqlDbType.Int, 1);
userIDSQL.Direction = ParameterDirection.Input;
userIDSQL.Value = userID;
roleSQL = cmd.Parameters.Add("@role", SqlDbType.VarChar, 1);
roleSQL.Direction = ParameterDirection.Input;
roleSQL.Value = role;
rowCountSQL = cmd.Parameters.Add("@rowCount", SqlDbType.Int, 1);
rowCountSQL.Direction = ParameterDirection.Output;
// Ausführen der Anfrage
dr = cmd.ExecuteReader();
Nun habe ich die Anfrage ausgeführt und im DataReader gespeichert. Wie erhalte ich nun aus dem DataReader jedoch das @rowCount?
Viele Grüße
Maddi1986
Comment