C# und SQL-Prozeduren

28/03/2010 - 12:51 von Uli Münch | Report spam
Hallo NG,

ich bin hier auf ein Problemchen gestossen wo ich nicht weis, bin ich das
Problem oder ist dies ein Bug von C#.

protected void SetListe(string DateiName)
{
SqlCommand befehl = verbindungM.CreateCommand();
befehl.CommandText = "up_getfeldliste @Name";
befehl.Parameters.Add("@Name",SqlDbType.NVarChar);
befehl.Parameters["@Name"].Value = DateiName;

// bringt die Fehlermeldung -> Incorrect syntax near 'up_getfeldliste'

befehl.CommandText = "up_getfeldliste";
befehl.Parameters.Add("@Name",SqlDbType.NVarChar);
befehl.Parameters["@Name"].Value = DateiName;

// so geht es auch nicht

// Wenn ich aber anfange zu basteln

befehl.CommandText = "up_getfeldliste '"+DateiName+"'"

// kommt das gewünschte Ergebnis. Aber das kann doch nicht die Lösung sein?
}

Bei SQL-Funktionen ist dies nicht zu beobachten´.

befehl.CommandText = "SELECT * FROM udf_getfeldliste(@Name)";
befehl.Parameters.Add("@Name",SqlDbType.NVarChar);
befehl.Parameters["@Name"].Value = DateiName;

Làuft problemlos.

Ich bedanke mich für jeden Tipp.

mfG
Uli Münch
 

Lesen sie die antworten

#1 Konrad Neitzel
28/03/2010 - 13:11 | Warnen spam
Hallo Uli!

"Uli Münch" schrieb im Newsbeitrag
news:#

ich bin hier auf ein Problemchen gestossen wo ich nicht weis, bin ich das
Problem oder ist dies ein Bug von C#.

befehl.CommandText = "up_getfeldliste";
befehl.Parameters.Add("@Name",SqlDbType.NVarChar);
befehl.Parameters["@Name"].Value = DateiName;



Hmm ... up_getfeldliste ist doch eine stored procedure. Für den Aufruf einer
Stored Procedure sollte doch die CommandType Property auf
CommandType.StoredProcedure gesetzt werden. Zumindest mache ich dies immer.

Evtl. liegt es ja schon einfach daran.

Mit den besten Grüßen,

Konrad

Ähnliche fragen