Ausgabe speichern

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von LucaWelker.

    Ausgabe speichern

    hallo zusammen

    ich habe ein Problem, weiss aber nicht wie ich ihm sagen sollte, darum dieser nichtssagende Titel. Konnte aus dem selben Grund auch nichts recherchieren...
    ich habe eine for each.. next schleife... jedes mal wird dort ein String ausgegeben, dieser string wird mit einem string auf einer SQL-Datennbank verglichen. nun funktioniert das aber nicht und ich weiss nicht wieso..
    hier mal der code, wäre sehr dankbar wenn mir jemand weiterhelfen könnte:

    VB.NET-Quellcode

    1. Private Sub checkmac()
    2. ' NetzwerkInterface-Objekt
    3. Dim oInterface As NetworkInterface
    4. ' alle verfügbaten Netzwerk-Interfaces durchlaufen
    5. For Each oInterface In NetworkInterface.GetAllNetworkInterfaces()
    6. With oInterface
    7. ' nur wenn es sich um kein LoopBack/Tunnel-Interface handelt...
    8. If .NetworkInterfaceType <> NetworkInterfaceType.Loopback AndAlso .NetworkInterfaceType <> NetworkInterfaceType.Tunnel Then
    9. ' MAC-Adresse in String schreiben
    10. mac = (.GetPhysicalAddress.ToString)
    11. Dim Conn As New MySqlConnection
    12. Conn.ConnectionString = "server=host; user id=benutzer; password=passwort; database=Datenbank"
    13. Dim myAdapter As New MySqlDataAdapter
    14. Dim cmd As String = "Select * from tabelle where spalte like '" & mac & "'"
    15. Dim myCommand As New MySqlCommand
    16. myCommand.Connection = Conn
    17. myCommand.CommandText = cmd
    18. myAdapter.SelectCommand = myCommand
    19. Dim myData As MySqlDataReader
    20. Conn.Open()
    21. myData = myCommand.ExecuteReader()
    22. If myData.HasRows Then
    23. myData.Read()
    24. If mac = myData(0) Then
    25. 'Ereignis ausführen
    26. Else
    27. MessageBox.Show("false MAC-adress")
    28. End If
    29. Else
    30. MessageBox.Show("Fehler(MAC)")
    31. End If
    32. End If
    33. End With
    34. Next
    35. End Sub

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „0luca0“ ()

    also: vs zeigt keine fehrlermeldung an...
    ich habe 3 netzwerkkarten, dh 3 mac adresse, diese werden alle überprüft
    das erste mal kommt die messagebox "false mac-adress", das zweite und das dritte mal die messagebox "fehler(MAC)"
    die erste mac-adresse sollte aber die sein, welche auch in der SQL-Datenbank hinterlegt ist.. aber da kommt ja die meldung "false mac-adress"...

    ist zum verzweifeln das ganze...
    Schreibe dein SQL-Statement doch um auf ein COUNT-Statement um und schauen wie viel COUNT liefert?
    Oder brauchst du den gesamten Datensatz danach noch?

    Versuche außerdem deine SQL-Abfrage mit Parametern zu versehen und nicht den Wert direkt in das SQL-Statement zu schreiben :)
    lg.

    LucaWelker