Fehlerbehebung durch Option strict

  • VB.NET
  • .NET 5–6

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von DTF.

    Fehlerbehebung durch Option strict

    Hallo liebes Forum

    Ich überarbeite gerade mein Projekt (Fehlerbehebung durch Option strict - ON)

    Ich habe ein Modul in dem ich definiere überall auf die db zugreifen zu können. Bei Option strict - OFF funktioniert das Modul. Option strict - ON wird folgender Teil mit roten wellenlinien unterstrichen.

    VB.NET-Quellcode

    1. mysqlError = {myerror.Message, myerror.Number}
    und folgende Meldung ausgegeben.

    Der Wert vom Typ "Object()" kann nicht in "String" konvertiert werden.

    Ich verstehe nicht..... Auf was bezieht sich das Object? Ich sage doch

    VB.NET-Quellcode

    1. Dim mysqlError As String


    Hier der ganze Code:

    VB.NET-Quellcode

    1. 'importieren von MySql
    2. Imports MySql.Data.MySqlClient
    3. Module dbConnect
    4. 'die Verbindung zur Datenbank definieren, damit von überall her darauf zugegriffen werden kann
    5. Public con As New MySqlConnection
    6. Public Function ConnectDatabase() As String
    7. 'array defninieren
    8. Dim mysqlError As String
    9. LeseIni()
    10. Try
    11. 'Testen ob die Verbindung noch offen ist, wenn nein dann
    12. If con.State = ConnectionState.Closed Then
    13. 'VerbindungsString erstellen
    14. con.ConnectionString = "SERVER=" & druckereimanagerConnection.serverName & "; PORT=" & druckereimanagerConnection.serverPort & "; USER ID=" & druckereimanagerConnection.userName & "; PASSWORD=" & druckereimanagerConnection.userPassWd & "; CHARSET=" & druckereimanagerConnection.charset & ";"
    15. 'Verbindung öffnen
    16. con.Open()
    17. End If
    18. 'und wahr zurückgeben
    19. Return CStr(True)
    20. 'Fehler abfangen
    21. Catch myerror As MySql.Data.MySqlClient.MySqlException
    22. 'fehler meldung und fehlercode in array schreiben
    23. mysqlError = {myerror.Message, myerror.Number}
    24. 'und fehler zurück geben
    25. Return mysqlError
    26. End Try
    27. End Function
    28. End Module


    Kann mir bitte jemand einen Tipp geben?

    Danke Gebhard
    Ich vermute es kommt daher, dass Du einmal einen String definiert hast, aber dann ein String-Array befüllst.

    VB.NET-Quellcode

    1. ​Dim mysqlError As String


    VB.NET-Quellcode

    1. 'fehler meldung und fehlercode in array schreiben
    2. mysqlError = {myerror.Message, myerror.Number}


    Warum nicht einfacher mit

    VB.NET-Quellcode

    1. mysqlError = myerror.Message & " " & myerror.number.toString


    ?
    Liebe Grüße
    Roland Berghöfer

    Meine aktuellen und kostenlos verwendbaren Tools (mit VB.NET erstellt): freeremarkabletools.com | priconman.com | SimpleCalendar | AudibleTouch | BOComponent.com | bonit.at