Benutzer mit den meisten Antworten
Wert einer Variable als ParamterWert und Wert als Type

Frage
-
Hallo Zusammen,
ich suche eine Möglichkeit für folgenden Ansatz:
Es wird eine collection übergeben, in der zum einen der ParameterWert, der Paramtername und der ParamterTyp, ParameterConverter steht.
Beispiel:
colTest.add("DBMessage","01ParameterName")
colTest.add("SqlDBType.Text","01ParameterType")
colTest.add("Hallo Welt","01ParameterValue")
colTest.add("convert.tostring","01ParameterConverter ")
Diese Collection möchte ich dann als Paramterwerte deklinieren:
Beispiel:
Dim p*1* as new SQLParamater("@*1*, *2*)
p*1*.Value = *4*(*3*)
die *Zahl* = der Teil der Collection. Sprich im Code sieht dies dann so aus:
Dim pDBMessage as new SQLParamater("@DBMessage",SqlDBType.Text)
pDBMessage .Value = convert.tostring(colTest.Item("01ParameterValue"))
Geht so was? und falls ja, wie löse ich das hier?
Danke an alle.
Gruss
Torsten
Antworten
-
Hallo Stefan,
Danke. Dies war ein guter Ansatz.. Hätte ich auch selber drauf kommen können.
Für alle anderen ich habe es nun so gelöst, was auch gut funktioniert:
Die Definitionen habe ich über eine Structure gelöst.
Also:
Public Structure Test
Public Value as Object
Public Type as SQLDBTyp
End Structure
Danach Ablage der Daten in der collection
<collection>.add(<structureWerte<)
Die collection wird dann entsprechend durchlaufen und die Werte als Parameterwerte zugewiesen.
Funzt wunderbar
Gruss
Torsten
- Als Antwort markiert Pattasatto Freitag, 8. Oktober 2010 09:21
Alle Antworten
-
Hi,
Diese Collection möchte ich dann als Paramterwerte deklinieren:
Beispiel:
Dim p*1* as new SQLParamater("@*1*, *2*)
p*1*.Value = *4*(*3*)
die *Zahl* = der Teil der Collection. Sprich im Code sieht dies dann so aus:
Dim pDBMessage as new SQLParamater("@DBMessage",SqlDBType.Text)
pDBMessage .Value = convert.tostring(colTest.Item("01ParameterValue"))
Mit Ausnahme des Variablennamens und der Methodenaufrufe Ja. Den Variablennamen brauchst Du eh nicht in der Form, da das, wenn überhaupt, nur für eine dynamische Codegenerierung sinnvoll wäre. Ebenso bei den Methodenaufrufen wie convert.tostring( ... )
Deine Überlegung geht aber ggfs. auch einfach in die falsche Richtung. Bau dir eine sinnvollere Struktur auf.
Class Parameter Private _Name As String Private _Value As Object Private _Type As SqlDbType Public Property Name As String ... End Property Public Property Value As Object ... End Property Public Property [Type] As SqlDbType ... End Property Public Sub New( ... ) End Sub End Class <Collection>.Add( New Parameter( "DBMessage", "Hallo Welt", SqlDbType.Text ) ) <Collection>.Add( New Parameter( "DBIrgendwas", 123, SqlDbType.Int ) ) For Each Item As Parameter in <Collection>.Items <ParameterCollection>.AddWithValue( String.Format( "@{0}", Item.Name ), Item.Value ) Next
Das Beispiel soll nur zeigen, wie man es in etwa aufbauen könnte. Da die gezeigte Klasse aber eigentlich identisch mit den SqlParametern ist, könnte man sie auch weglassen. Da ich aber davon ausgehe, dass Du da noch ein wenig mehr einbauen willst, kannst Du sie aber dennoch als Vorlage nehmen.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community -
Hallo Stefan,
Danke. Dies war ein guter Ansatz.. Hätte ich auch selber drauf kommen können.
Für alle anderen ich habe es nun so gelöst, was auch gut funktioniert:
Die Definitionen habe ich über eine Structure gelöst.
Also:
Public Structure Test
Public Value as Object
Public Type as SQLDBTyp
End Structure
Danach Ablage der Daten in der collection
<collection>.add(<structureWerte<)
Die collection wird dann entsprechend durchlaufen und die Werte als Parameterwerte zugewiesen.
Funzt wunderbar
Gruss
Torsten
- Als Antwort markiert Pattasatto Freitag, 8. Oktober 2010 09:21
-
Hallo Torsten.
Die Definitionen habe ich über eine Structure gelöst.
Also:
Public Structure Test
Public Value as Object
Public Type as SQLDBTyp
End Structure
Danach Ablage der Daten in der collection
<collection>.add(<structureWerte<)
Die collection wird dann entsprechend durchlaufen und die Werte als Parameterwerte zugewiesen.
auch wenn das natürlich geht, welchen Vorteil erhoffst Du dir von Structure in deinem Fall?
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community