ADODB Recordset ändern und Vb6 Syntax Verständnis

  • VB6

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    ADODB Recordset ändern und Vb6 Syntax Verständnis

    Hallo,

    ich habe hier ein ganz altes Programm, welches offensichtlich (ich habs gesehen dass im Endeffekt passiert) in einer mysql Datentabelle einträge vornehmen kann bzw. ändern kann.

    Ich habe hier ein Recordset für das Methoden .MoveFirst .MoveNext und .Update aufgerufen werden. Es wird wahrscheinlich Zeile für Zeile angesteuert. Am Ende wird es dann übernommen
    Aber ich finde nicht wo die eigentliche Änderung stattfindet.

    Das meiste ist in einem With-Block mit dem betreffenden Recordset, allerdings finde ich kein .IWas, das darauf hindeutet, dass ein Zelleintrag geändert wird. Aber es sind ganz viele ! drin.

    Ist Recordset!column die Zelle in der Spalte column? Das wird wahrscheinlich schon des Rätsels Lösung sein.

    VB.NET-Quellcode

    1. Dim strEtiText as String
    2. Dim bez(20)
    3. Dim rstEtiText As ADODB.Recordset
    4. Set rstEtiText = New ADODB.Recordset
    5. Set my_conn1 = New ADODB.Connection
    6. my_conn1.ConnectionString = strConnectionString
    7. my_conn1.Open
    8. ez = 0
    9. rstEtiText.CursorLocation = adUseClient
    10. rstEtiText.CursorType = adOpenStatic
    11. rstEtiText.LockType = adLockOptimistic
    12. rstEtiText.Open filterSQL, my_conn1
    13. If rstEtiText.EOF = True Then
    14. rstEtiText.Close
    15. Exit Sub
    16. End If
    17. rstEtiText.MoveFirst
    18. Do While Not rstEtiText.EOF
    19. With rstEtiText
    20. strEtiText = ""
    21. bez(1) = "": bez(2) = ""': usw.
    22. strEtiText = "^XA" + vbCrLf
    23. strEtiText = strEtiText + "bla" + vbCrLf
    24. 'usw.
    25. !EtiPrint = strEtiText '''Hier
    26. rstEtiText.Update
    27. End With
    28. Loop


    Die Microsoft Doku sagt:
    Verwenden Sie den ! Operator nur auf einer Klasse oder
    Schnittstelle als Wörterbuchzugriffsoperator. Die Klasse oder
    Schnittstelle muss über eine Standardeigenschaft verfügen, die ein
    einzelnes String Argument akzeptiert. Der Bezeichner unmittelbar nach dem Operator wird der Argumentwert, der ! an die Standardeigenschaft als Zeichenfolge übergeben wird


    Samt Beispiel denke ich heißt das: EineKlasse!bezeichnung ist eine andere Schreibweise für EineKlasse("bezeichnung"), was so in der Art ja auch beim vbnet DataSet funktioniert.

    Viele Grüße

    *Topic verschoben*

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marcus Gräfe“ ()

    Haudruferzappeltnoch schrieb:

    Samt Beispiel denke ich heißt das: EineKlasse!bezeichnung ist eine andere Schreibweise für EineKlasse("bezeichnung"), was so in der Art ja auch beim vbnet DataSet funktioniert.

    richtig. Und nicht nur in Dataset, sondern in jeder Auflistung, deren Elemente über einen String addressierbar sind.