Aufruf einer Stored Procedure mit vielen Variabeln und Rückgabewert

25/09/2007 - 10:29 von Adrian Stern | Report spam
Hallo

Ich bin nun so weit, dass ich Daten in meine Datenbank schreiben muss.
Ich habe mich entschieden hierfür Stored Procedures zu verwenden.

Nun muss ich der Prozedur beim aufruf einige Werte mitgeben und auch
noch ein Rückgabewert abfangen.

Create PROCEDURE [dbo].[pCst_Tt_CreateUmfrage]
(@Titel varchar(50),
@Beschreibung varchar(100),
@IDUmfrageTyp int,
@IDPerson int,
@DatumVon datetime,
@DatumBis datetime,
@FachMuss bit,
@FachSichtbar bit,
@OrtMuss bit,
@OrtSichtbar bit)

AS
declare @Error int
declare @IDUmfrage int
declare @ReturnText int output

Dies ist mal der Kopf meiner Prozedur.

Ich habe leider kein Beispiel gefundeen welches für .NET 2.0 ist.
Ich denke mir aber, dass die ganze angelegenheit einer einfachen Abfrage
ziemlich nahe kommt und desswegen denke ich, dass ich hauptsàchlich
wissen muss wie ich den SqlCmd vorbereite.

Ich bin dann wieder am googeln.

Danke fürs lesen, mfg
Adrian Stern
 

Lesen sie die antworten

#1 Elmar Boye
25/09/2007 - 23:28 | Warnen spam
Hallo Adrian,

Adrian Stern schrieb ...
Ich bin nun so weit, dass ich Daten in meine Datenbank schreiben muss.
Ich habe mich entschieden hierfür Stored Procedures zu verwenden.

Nun muss ich der Prozedur beim aufruf einige Werte mitgeben und auch
noch ein Rückgabewert abfangen.

Create PROCEDURE [dbo].[pCst_Tt_CreateUmfrage]
(@Titel varchar(50),
@Beschreibung varchar(100),
@IDUmfrageTyp int,
@IDPerson int,
@DatumVon datetime,
@DatumBis datetime,
@FachMuss bit,
@FachSichtbar bit,
@OrtMuss bit,
@OrtSichtbar bit)

AS
declare @Error int
declare @IDUmfrage int
declare @ReturnText int output



Na das mit dem OUTPUT klappt da aber nicht...

Ansonsten sàhe das z. B. so aus:

private SqlCommand CreateUmfrageCommand(SqlConnection connection)
{
SqlCommand command = new SqlCommand();
command.Connection = connection;
command.CommandText = "[dbo].[pCst_Tt_CreateUmfrage]";
command.CommandType = CommandType.StoredProcedure;

command.Parameters.Add(new SqlParameter("@Titel", SqlDbType.VarChar, 50));
command.Parameters.Add(new SqlParameter("@Beschreibung", SqlDbType.VarChar, 100));
command.Parameters.Add(new SqlParameter("@IDUmfrageTyp", SqlDbType.Int));
command.Parameters.Add(new SqlParameter("@IDPerson", SqlDbType.Int));
command.Parameters.Add(new SqlParameter("@DatumVon", SqlDbType.DateTime));
command.Parameters.Add(new SqlParameter("@DatumBis", SqlDbType.DateTime));
command.Parameters.Add(new SqlParameter("@FachMuss", SqlDbType.Bit));
command.Parameters.Add(new SqlParameter("@FachSichtbar", SqlDbType.Bit));
command.Parameters.Add(new SqlParameter("@OrtMuss", SqlDbType.Bit));
command.Parameters.Add(new SqlParameter("@OrtSichtbar", SqlDbType.Bit));
return command;
}

Ich habe leider kein Beispiel gefundeen welches für .NET 2.0 ist.



Da gilt prinzipiell alles aus .NET 1.x genauso.
Ansonsten gibt auch die .NET Dokumenation was her:
http://msdn2.microsoft.com/en-us/library/yy6y35y8(VS.80).aspx

Die passendere Gruppe für solche Fragen wàre
news:microsoft.public.de.german.entwickler.dotnet.datenbank

Gruss
Elmar

Ähnliche fragen