Laden...

VB.Net in C#

Erstellt von Joerg vor 19 Jahren Letzter Beitrag vor 19 Jahren 2.514 Views
J
Joerg Themenstarter:in
152 Beiträge seit 2005
vor 19 Jahren
VB.Net in C#

Hallo
Ich soll nun mein Prog von VB.NET in C# umschreiben.
Leider habe ich speziell bei dem unten angezeigtem Code mit dem Umschreiben Probleme.

Public Function parameter(ByVal sqlbefehl, ByVal paraFeld)
Cn = New OdbcConnection(sCn)
Dim anzahl As Integer
Dim wert
Cn.Open()
cmd = New OdbcCommand(sqlbefehl, Cn)
dr = cmd.ExecuteReader
If dr.HasRows Then
Dim discreteParam As New ParameterDiscreteValue
Dim paramField As ParameterFieldDefinition
Dim currentValues As ParameterValues
Dim defaultValues As ParameterValues
**mit der nächsten Zeile gibt es Probleme,da in C# der Eigenschaftsname Item nicht verfügbar ist!!!! **
++paramField = oRep.DataDefinition.ParameterFields.Item(paraFeld) ++
Do While dr.Read
Try
If wert = dr.Item(0) Then

Exit Try
Else
If paraFeld = "Tournr" Then
discreteParam.Value = CType(dr.Item(0), Integer)
Else
discreteParam.Value = dr.Item(0)
End If
wert = dr.Item(0)
End If
defaultValues = paramField.DefaultValues
defaultValues.Add(discreteParam)
paramField.ApplyDefaultValues(defaultValues)
Catch ex As Exception
pruef.protokollieren(ex.Message, sqlbefehl, paraFeld)
Exit Do
End Try
Loop
dr.Close()
End If
Cn.Close()
End Function

**In der Hilfe steht nur dazu ich solle eine der folgenden Syntaxbeispiele verwenden! **
collection[0]
collection["Item Name"]
collection["Iten Name", "Report Name"]

Zum jetzigen Zeitpunkt hilft mir das aber nicht!

Gruß Jörg

P
939 Beiträge seit 2003
vor 19 Jahren

Auf die Item-Eigenschaft wird in C# in Indexer-Schreibweise zugegriffen. Also Item kommt ganz weg und wird durch eckige Klammern ersetzt.

paramField = oRep.DataDefinition.ParameterFields[paraFeld];

Gruss
Pulpapex

49.485 Beiträge seit 2005
vor 19 Jahren

Hallo Joerg,

es müsste immer so gehen, dass du '.Item' weglässt und die runden Klammern dahinter durch eckige ersetzt:


paramField = oRep.DataDefinition.ParameterFields [paraFeld]

herbivore

S
127 Beiträge seit 2004
vor 19 Jahren

Benutze doch #develop Link zur Seite.

Das kann deine VS Solution importieren und dann von VB nach C# übersetzen. Und diesen Code auch wieder als VS Solution exportieren. Dann brauchst du nicht mehr soviel nachdenken, sonder kannst dich dann auf das Testen des übesetzen Codes konzentrieren.

Der Konverter nutzt bei #develop Reflection und kann so fast Fehlerfrei übersetzen.

J
Joerg Themenstarter:in
152 Beiträge seit 2005
vor 19 Jahren
VB.NET in C#

Hallo
das ging aber schnell!!!
klappt alles!
Danke!

Gruß Joerg