Verwendung des Standardparameters im Stored Procedure-Aufruf

8

Ich habe die folgende gespeicherte Prozedur

%Vor%

Dies liefert das korrekte Ergebnis beim Aufruf in SSMS.

%Vor%

Obwohl beim Aufruf innerhalb einer C # -Anwendung wie folgt

%Vor%

& amp; wird vom Profiler wie folgt erfasst.

%Vor%

Muss ein Parameter, der den Standard überschreibt, anders übergeben werden?

    
ojhawkins 26.09.2013, 23:21
quelle

3 Antworten

2

new SqlParameter("@bar", 0) löst die falsche Überladung aus - string parameterName, SqlDbType dbType . Der Wert wird nicht festgelegt.

Sie möchten den Wert, der den Wert festlegt, also new SqlParameter("@bar", (object)0) .

Deshalb wurde AddWithValue eingeführt.

    
GSerg 26.09.2013, 23:26
quelle
4

Verwenden Sie

%Vor%

Auf diese Weise wissen Sie, dass Sie den Wert tatsächlich übergeben.

    
Yuriy Galanter 26.09.2013 23:32
quelle
0

Besser und sicher:

%Vor%     
Doğan ÇAKMAK 19.02.2014 13:13
quelle