Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Problem bei automatischem Ping

Frage Entwicklung VB for Applications

Mitglied: Time

Time (Level 1) - Jetzt verbinden

18.12.2006, aktualisiert 19.12.2006, 3156 Aufrufe, 5 Kommentare

Erstma einen schönen Guten Mittag!

Ich schreibe zur Zeit in VB.NET eine Anwendung, die in bestimmten Abständen verschiedene PCs pingen soll. Diese PCs sind alle in einer Access-Tabelle vorhanden und können über das Adminpanel auch hinzugefügt, gelöscht oder editiert werden. Das Problem ist, dass ich nicht weiß, wie ich den automatischen Ping realisieren soll, da ich die Auslesung der Daten nicht so hinbekomme, wie ich sie brauche und die Ping-Intervalle beim PC erstellen/editieren geändert werden können.

Ich habe zur Zeit folgenden Code:

Imports System.Data
Imports System.Data.OleDb

Public Class pc_int

Private con As New OleDb.OleDbConnection
Private strCon As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=C:\Freibage\WatchGuard.mdb;" & "Jet OLEDB:database Password=xy;"
Private pcID As String
Dim WithEvents tm As Timer

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Dim x
Dim ueberwachung_bis
Dim ueberwachung_von
Dim Nextp

Try
ueberwachung_bis = "23:59"
ueberwachung_von = "00:01"
Nextp = "12:00"

Try

Dim DSPC As New DataSet

con.ConnectionString = strCon

Dim oledbadapter As OleDb.OleDbDataAdapter
oledbadapter = New OleDb.OleDbDataAdapter("SELECT * FROM pcping", con)

con.Open()

oledbadapter.Fill(DSPC, "ID")

ueberwachung_von = DSPC.Tables("ID").Rows(0).Item(2)
ueberwachung_bis = DSPC.Tables("ID").Rows(0).Item(3)
Nextp = DSPC.Tables("ID").Rows(0).Item(6)

MsgBox("Von: " + ueberwachung_von.ToString)
MsgBox("Bis: " + ueberwachung_bis.ToString)
MsgBox("Nächster: " + Nextp.ToString)

Catch ex As Exception
MsgBox("Fehler: " + ex.ToString)
Finally
con.Close()
End Try

x = Now.ToString("HH:mm")
MsgBox("Zeit: " + x.ToString)

If Nextp = x Then
MsgBox("Richtig: Nextp = x")
If ueberwachung_von <= x And ueberwachung_bis >= x Then
MsgBox("Richtig: Von <= x UND Bis >= x")
'Ping
'Schreibe History
Else
MsgBox("Falsch: Von > x ODER Bis < x")
End If
MsgBox("Falsch: Nextp <> x")
Else
End If
x = ""
Catch ex As Exception
MsgBox("Fehler: " + ex.ToString)
End Try
End Sub
End Class

Timer1_Tick wird alle 45000ms, also alle 45s ausgeführt.

Mein Problem ist, dass er mit diesem Code nur die Zeile 0 überprüft und nicht die restlichen Zeilen... Hat da wer ne Idee? Das ist so mehr oder weniger das einzige was noch fehlt, dann ist das Programm fertig...
Mitglied: DaSam
18.12.2006 um 15:36 Uhr
Hi,

01.
ueberwachung_von = DSPC.Tables("ID").Rows(0).Item(2) 
02.
ueberwachung_bis = DSPC.Tables("ID").Rows(0).Item(3) 
03.
Nextp = DSPC.Tables("ID").Rows(0).Item(6)
Schau Dir Deinen Code an und sag mir, warum er nur die Daten der ersten Zeile nimmt
Hint: Was heist Row auf deustch und warum steht die 0 in der Klammer *g*

Das ganze DB-rumprogrammiere hast ja auch super umständlich gemacht, warum gehst Du nicht ganz normal mit einem Cursor von oben nach unten durch den Ergebnissatz, Also zuerst einen Select, dann die Werte auslesen mit RC.Fields("Feldname") und dann einen RC.MoveNext ...

cu,
Alex
Bitte warten ..
Mitglied: Time
18.12.2006 um 15:47 Uhr
Hi,

01.
> ueberwachung_von = 
02.
> DSPC.Tables("ID").Rows(0).Item(2) 
03.
> ueberwachung_bis = 
04.
> DSPC.Tables("ID").Rows(0).Item(3) 
05.
> Nextp = 
06.
> DSPC.Tables("ID").Rows(0).Item(6) 
07.
> 
Schau Dir Deinen Code an und sag mir, warum
er nur die Daten der ersten Zeile nimmt
Hint: Was heist Row auf deustch und warum
steht die 0 in der Klammer *g*

Das ganze DB-rumprogrammiere hast ja auch
super umständlich gemacht, warum gehst
Du nicht ganz normal mit einem Cursor von
oben nach unten durch den Ergebnissatz, Also
zuerst einen Select, dann die Werte auslesen
mit RC.Fields("Feldname") und dann
einen RC.MoveNext ...

cu,
Alex

Schon klar, dass er nur die erste Zeile ausliest, weil da Row(0) steht ^^ Wollte ne alternative Lösung, die alle Zeilen durchgeht :-P

Das is warscheinlich alles etwas umständlich, da ich erst seit knapp 3Wochen VB.NET schreibe und mich mit Datenbanken noch nich so beschäftigt hab

Was is RC? Unter welchem Namespace find ich das?

Aber danke schonma für die Antwort
Bitte warten ..
Mitglied: DaSam
18.12.2006 um 18:17 Uhr
Hi,

RC ist eine Abkürzung für Recordset. Ich mache das immer so:

- Einen Connect zur Datenbank
- auf diese DB kann man dann mittels des Select-Statements einen Recordset öffnen
- und dann mittels while not Recordset.eof ... die Elemente durchlaufen lassen.

Ob das so ganz in VB geht, weis ich jetzt nicht auswenig, in VBScript mache ich das mit ADODB.

cu,
Alex
Bitte warten ..
Mitglied: Time
19.12.2006 um 09:34 Uhr
Danke für den Tipp, aber ich muss dir da was sagen:

Bei ADO werden die Daten im Speicher als Recordset dargestellt, bei ADO.NET als Dataset...

Ich mache das ganze ja mit DataSets

Ich muss nur rausfinden, wie ich mich mit dem Ding durch die Zeilen bewege :P
Bitte warten ..
Mitglied: DaSam
19.12.2006 um 20:39 Uhr
Hi,

prinzipiell sollte es ja mit "foreach" gehen:

foreach sRow in DataSet.Rows
...
DoPing sRow.Field("RechnerName")
next

sRow müsste halt in der Art OleDB.DataSet.Row deklariert werden

(Ist jetzt alles nur zusammengestöpselt, ich habe keine Ahnung, ob die Objekte und Klassen so passen).

cu,
Alex
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Windows Netzwerk
gelöst Netzwerk Ping Problem (11)

Frage von ITSS-HR zum Thema Windows Netzwerk ...

DSL, VDSL
Problem mit variernder Internetgeschwindigkeit (12)

Frage von schaurian zum Thema DSL, VDSL ...

Windows Netzwerk
gelöst Problem mit PSexec64 von Sysinternals (8)

Frage von MaxMoritz6 zum Thema Windows Netzwerk ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (20)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Festplatten, SSD, Raid
M.2 SSD wird nicht erkannt (14)

Frage von uridium69 zum Thema Festplatten, SSD, Raid ...