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:
die Klasse scan :
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
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
- Dim treefill As New treefill
- Dim scan As New Scan
- Private Sub ScanToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ScanToolStripMenuItem.Click
- Dim subnet = TreeView1.SelectedNode.Name
- If treefill.iptest(subnet) Then
- For a = List.Scanergebnisse.Rows.Count To 255
- List.Scanergebnisse.Rows.Add()
- Next
- ' Me.TableAdapterManager.UpdateAll(Me.List)
- Dim cut = Split(subnet, ".")
- subnet = cut(0) & "." & cut(1) & "." & cut(2) & "."
- scan.IPScan(subnet)
- Else : MsgBox("Fehler")
- End If
- End Sub
die Klasse scan :
VB.NET-Quellcode
- Imports System.Threading
- Public Class Scan
- Private Shared Sub ThreadFunc(ByVal ips as String)
- Dim iprun = Split(ips, ".")
- Dim run As Integer = iprun(3)
- For a As Integer = run To run + 49
- Dim testIP = iprun(0) & "." & iprun(1) & "." & iprun(2) & "." & a
- Call Ping(testIP, 1000, a - 1)
- Next
- End Sub
- Public Function IPScan(ByVal Subnet As String)
- Dim Thread1 As Thread = New Thread(AddressOf Scan.ThreadFunc)
- Dim Thread2 As Thread = New Thread(AddressOf Scan.ThreadFunc)
- Dim Thread3 As Thread = New Thread(AddressOf Scan.ThreadFunc)
- Dim Thread4 As Thread = New Thread(AddressOf Scan.ThreadFunc)
- Dim Thread5 As Thread = New Thread(AddressOf Scan.ThreadFunc)
- Thread1.Start(Subnet & 2)
- Thread2.Start(Subnet & 52)
- Thread3.Start(Subnet & 102)
- Thread4.Start(Subnet & 152)
- Thread5.Start(Subnet & 202)
- End Function
- Public Shared Sub Ping(ByVal IP, ByVal ptime, ByVal ind)
- Form1.List.Scanergebnisse.Rows(index:=ind).Item(0) = IP
- Form1.list.scanergebnisse.rows(ind).item(5) = Now()
- If My.Computer.Network.Ping(IP, ptime) Then
- Form1.List.Scanergebnisse.Rows(index:=ind).Item(1) = "online"
- Else
- Form1.List.Scanergebnisse.Rows(index:=ind).Item(1) = "offline"
- End If
- End Sub
- 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!