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
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
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
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.
Hallo
das ging aber schnell!!!
klappt alles!
Danke!
Gruß Joerg