SqlParameterCollection

06/03/2010 - 11:19 von ChristianT | Report spam
Hallo Leute,
ich möchte in einer Function
Private Function GetParameters(Wert as Integer) As
SqlParameterCollection
Dim SPC As SqlParameterCollection
SPC.Add("@Spalte", SqlDbType.Int).Value = Wert
Return SPC
End Function
eine ParameterCollection erstellen die ich dann folgenderweise
zuweisen möchte:

mySqlCommand.Parameters = GetParameter(Wert)

Zum einen bekomme ich in obiger Function schon die Meldung, dass die
SPC-Variable verwendet wird bevor eine Wert zugewiesen wird. Mit "Dim
SPC As New SqlParameterCollection" gehts auch nicht da dafür kein
Kontruktor existiert.

Zum anderen ist mySqlCommand.Parameters readonly.

Das Ganze sieht etwas umstàndlich aus aber ich möchte es so machen, da
es sich um eine große Anzahl von Parametern handelt und ich diese
Function an mehreren Programmstellen benötige.

Vielen Dank im Voraus
Christian Tauschek
 

Lesen sie die antworten

#1 Elmar Boye
06/03/2010 - 12:40 | Warnen spam
Hallo Christian,

"ChristianT" schrieb ...
ich möchte in einer Function
Private Function GetParameters(Wert as Integer) As
SqlParameterCollection
Dim SPC As SqlParameterCollection
SPC.Add("@Spalte", SqlDbType.Int).Value = Wert
Return SPC
End Function
eine ParameterCollection erstellen die ich dann folgenderweise
zuweisen möchte:

mySqlCommand.Parameters = GetParameter(Wert)



Das funktioniert nicht, den die Auflistung ist immer mit dem
SqlCommand verbunden.

Das Ganze sieht etwas umstàndlich aus aber ich möchte es so machen, da
es sich um eine große Anzahl von Parametern handelt und ich diese
Function an mehreren Programmstellen benötige.



Da leider der Zusammenhang fehlt, als Vorschlag:
Erzeuge ein SqlParameter() Array, das Du mit
Commmand.Parameters.AddRange übergibst.

Übergebe Command oder Parameters als Parameter (Name geàndert).

Private Sub AddParameters( _
ByVal command As SqlCommand, _
ByVal Wert as Integer)

command.Parameters.Add( _
"@Spalte" & commandParamters.Count.ToString(), _
SqlDbType.Int).Value = Wert

End Sub

beachte: die Namen der Parameter müssen eindeutig sein.

Gruß Elmar

Ähnliche fragen