Allgemeines Problem mit Datenbank/Datagridview

  • VB.NET

    Allgemeines Problem mit Datenbank/Datagridview

    Ich möchte ein kleines Tool schreiben, welches gewisse Subnetze scannt und mir anzeigt wer online/offline ist und einiges anderes später auch.
    Ich habe aber ein kleines Problem im Verständnis Datagridview Steuerelement, Databinding Datenbank etc.
    Ich habe eine leere Datenbank erstellt mit einigen Spalten.
    Diese habe ich an ein Datagridview gebunden.
    Nun habe ich folgende Codes:

    VB.NET-Quellcode

    1. Dim treefill As New treefill
    2. Dim scan As New Scan
    3. Private Sub ScanToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ScanToolStripMenuItem.Click
    4. Dim subnet = TreeView1.SelectedNode.Name
    5. If treefill.iptest(subnet) Then
    6. For a = List.Scanergebnisse.Rows.Count To 255
    7. List.Scanergebnisse.Rows.Add()
    8. Next
    9. ' Me.TableAdapterManager.UpdateAll(Me.List)
    10. Dim cut = Split(subnet, ".")
    11. subnet = cut(0) & "." & cut(1) & "." & cut(2) & "."
    12. scan.IPScan(subnet)
    13. Else : MsgBox("Fehler")
    14. End If
    15. End Sub

    die Klasse scan :

    VB.NET-Quellcode

    1. Imports System.Threading
    2. Public Class Scan
    3. Private Shared Sub ThreadFunc(ByVal ips as String)
    4. Dim iprun = Split(ips, ".")
    5. Dim run As Integer = iprun(3)
    6. For a As Integer = run To run + 49
    7. Dim testIP = iprun(0) & "." & iprun(1) & "." & iprun(2) & "." & a
    8. Call Ping(testIP, 1000, a - 1)
    9. Next
    10. End Sub
    11. Public Function IPScan(ByVal Subnet As String)
    12. Dim Thread1 As Thread = New Thread(AddressOf Scan.ThreadFunc)
    13. Dim Thread2 As Thread = New Thread(AddressOf Scan.ThreadFunc)
    14. Dim Thread3 As Thread = New Thread(AddressOf Scan.ThreadFunc)
    15. Dim Thread4 As Thread = New Thread(AddressOf Scan.ThreadFunc)
    16. Dim Thread5 As Thread = New Thread(AddressOf Scan.ThreadFunc)
    17. Thread1.Start(Subnet & 2)
    18. Thread2.Start(Subnet & 52)
    19. Thread3.Start(Subnet & 102)
    20. Thread4.Start(Subnet & 152)
    21. Thread5.Start(Subnet & 202)
    22. End Function
    23. Public Shared Sub Ping(ByVal IP, ByVal ptime, ByVal ind)
    24. Form1.List.Scanergebnisse.Rows(index:=ind).Item(0) = IP
    25. Form1.list.scanergebnisse.rows(ind).item(5) = Now()
    26. If My.Computer.Network.Ping(IP, ptime) Then
    27. Form1.List.Scanergebnisse.Rows(index:=ind).Item(1) = "online"
    28. Else
    29. Form1.List.Scanergebnisse.Rows(index:=ind).Item(1) = "offline"
    30. End If
    31. End Sub
    32. End Class


    Meine Datenbankquelle heisst List, die hier benötigte Tabelle Scanergebnisse.

    Er wirft mir einen Fehler aus, das die Zeile zB 101 oder 151 bicht existiert.
    Des weiteren glaub ich fehlt mir das Verständnis wie ich diese Daten vernünftig in der Datenbank speichere.
    Wenn mir jemand mal nen Code zeigen könnte, wie man Daten in einer im Projekt erstellten Datenbank zur Laufzeit speichert und im Datagridview anzeigt wäre ich sehr dankbar.

    Vielen Dank
    gruss Mono
    Das ist meine Signatur und sie wird wunderbar sein!