Start 2
This commit is contained in:
267
Dokumentation/Administration/CSVImportieren.vb
Normal file
267
Dokumentation/Administration/CSVImportieren.vb
Normal file
@@ -0,0 +1,267 @@
|
||||
Imports System.IO
|
||||
Imports System.Data.SqlClient
|
||||
|
||||
Public Class CSVImportieren
|
||||
|
||||
Public cmd As New SqlCommand
|
||||
Public reader As SqlDataReader
|
||||
Public importdatei As String
|
||||
Public con As New SqlConnection
|
||||
|
||||
Public Senderstandort As String
|
||||
Public SenderNetzwerk As String
|
||||
Public SenderAllgemein As String
|
||||
|
||||
Private Sub CSVImportieren_Load(sender As Object, e As EventArgs) Handles MyBase.Load
|
||||
dbload()
|
||||
lblinfo_standard()
|
||||
End Sub
|
||||
|
||||
Public Function dbload()
|
||||
con.ConnectionString = Class1.DBConString
|
||||
cmd.Connection = con
|
||||
End Function
|
||||
|
||||
Private Sub CmdQuelle_Click(sender As Object, e As EventArgs) Handles CmdQuelle.Click
|
||||
Dim openfiledialog As New OpenFileDialog
|
||||
|
||||
openfiledialog.InitialDirectory = "C:\Verag"
|
||||
openfiledialog.DefaultExt = ".csv"
|
||||
openfiledialog.Filter = "CSV files (*.csv)|*.CSV"
|
||||
openfiledialog.ShowDialog()
|
||||
importdatei = openfiledialog.FileName
|
||||
LblQuelle.Text = importdatei
|
||||
loadcsv()
|
||||
End Sub
|
||||
|
||||
Private Function lblinfo_standard()
|
||||
LblInfo.Text = "FQDN" & vbCrLf &
|
||||
"QINFO" & vbCrLf &
|
||||
"IPAdresse" & vbCrLf &
|
||||
"NETNAME" & vbCrLf &
|
||||
"Seriennummer" & vbCrLf &
|
||||
"MAC" & vbCrLf &
|
||||
"Benutzer" & vbCrLf &
|
||||
"Passwort" & vbCrLf &
|
||||
"LINK" & vbCrLf &
|
||||
"INFO" & vbCrLf &
|
||||
"TYPE" & vbCrLf &
|
||||
"HOST" & vbCrLf &
|
||||
"NWSTANDORT" & vbCrLf &
|
||||
"Modell" & vbCrLf &
|
||||
"Linked" & vbCrLf &
|
||||
"LinkedWith" & vbCrLf &
|
||||
"AddIP"
|
||||
End Function
|
||||
|
||||
Private Function loadcsv()
|
||||
Try
|
||||
Dim testsr As New StreamReader(importdatei)
|
||||
Catch
|
||||
MsgBox("Keine Datei angegben!")
|
||||
Exit Function
|
||||
End Try
|
||||
Dim sr As New StreamReader(importdatei)
|
||||
Dim dt As New DataTable
|
||||
dt.CaseSensitive = False
|
||||
Dim newline() As String = sr.ReadLine.Split(";")
|
||||
Dim itemarraystring As Object = ""
|
||||
Dim zeile As String
|
||||
Dim zeilevbcrlf As String
|
||||
Dim felder() As String
|
||||
|
||||
Dim i As Integer
|
||||
Try
|
||||
i = 0
|
||||
While sr.EndOfStream = False
|
||||
dt.Columns.AddRange({New DataColumn(newline(i))})
|
||||
i = i + 1
|
||||
End While
|
||||
'Do While i <= (Num.Value - 1)
|
||||
' dt.Columns.AddRange({New DataColumn(newline(i))})
|
||||
' i = i + 1
|
||||
'Loop
|
||||
Catch exkopfzeile As Exception
|
||||
'MsgBox("Kopfzeile: " & i & vbCrLf & exkopfzeile.Message)
|
||||
End Try
|
||||
Try
|
||||
While (Not sr.EndOfStream)
|
||||
zeile = sr.ReadLine
|
||||
zeilevbcrlf = Replace(zeile, "##vbCrLf##", vbCrLf)
|
||||
felder = zeilevbcrlf.Split(";")
|
||||
Dim dr As DataRow = dt.NewRow
|
||||
dr.ItemArray = felder
|
||||
dt.Rows.Add(dr)
|
||||
|
||||
End While
|
||||
|
||||
|
||||
Catch exInhalt As Exception
|
||||
'MsgBox("Inhalt: " & exInhalt.Message)
|
||||
End Try
|
||||
dgvImport.DataSource = dt
|
||||
sr.Close()
|
||||
FileClose()
|
||||
End Function
|
||||
|
||||
Public Function IPbereitsvorhanden(Ip As String)
|
||||
con.Open()
|
||||
cmd.CommandText = "SELECT * FROM TbL_Netzwerkclients WHERE IPAdresse='" & Ip & "'"
|
||||
cmd.ExecuteNonQuery()
|
||||
reader = cmd.ExecuteReader()
|
||||
If reader.Read Then
|
||||
con.Close()
|
||||
Return (True)
|
||||
'MsgBox(Ip & " bereits vorhanden")
|
||||
Else
|
||||
con.Close()
|
||||
Return (False)
|
||||
'MsgBox(Ip & " noch nicht vorhanden")
|
||||
End If
|
||||
con.Close()
|
||||
End Function
|
||||
|
||||
Public Function Import()
|
||||
|
||||
Dim FQDN As String = ""
|
||||
Dim QINFO As String = ""
|
||||
Dim IPAdresse As String = ""
|
||||
Dim NETNAME As String = ""
|
||||
Dim Seriennummer As String = ""
|
||||
Dim MAC As String = ""
|
||||
Dim Benutzer As String = ""
|
||||
Dim Passwort As String = ""
|
||||
Dim LINK As String = ""
|
||||
Dim INFO As String = ""
|
||||
Dim TYPE As String = ""
|
||||
Dim HOST As Integer
|
||||
Dim NWSTANDORT As String = ""
|
||||
Dim Modell As String = ""
|
||||
Dim Linked As Integer
|
||||
Dim LinkedWith As String = ""
|
||||
Dim AddIP As String = ""
|
||||
Dim Standort As String = ""
|
||||
|
||||
Try
|
||||
|
||||
For r As Integer = 0 To dgvImport.Rows.Count - 2
|
||||
FQDN = dgvImport.Rows(r).Cells("FQDN").Value.ToString
|
||||
' MsgBox(Count(FQDN))
|
||||
If Count(FQDN) > 40 Then
|
||||
FQDN = FQDN.Substring(0, 40)
|
||||
End If
|
||||
|
||||
QINFO = dgvImport.Rows(r).Cells("QINFO").Value.ToString
|
||||
IPAdresse = dgvImport.Rows(r).Cells("IPAdresse").Value.ToString
|
||||
NETNAME = dgvImport.Rows(r).Cells("NETNAME").Value.ToString
|
||||
Seriennummer = dgvImport.Rows(r).Cells("Seriennummer").Value.ToString
|
||||
MAC = dgvImport.Rows(r).Cells("MAC").Value.ToString
|
||||
'Benutzer = dgvImport.Rows(r).Cells("Benutzer").Value.ToString
|
||||
'Passwort = dgvImport.Rows(r).Cells("Passwort").Value.ToString
|
||||
'LINK = dgvImport.Rows(r).Cells("LINK").Value.ToString
|
||||
'INFO = dgvImport.Rows(r).Cells("INFO").Value.ToString
|
||||
' TYPE = dgvImport.Rows(r).Cells("TYPE").Value.ToString
|
||||
NWSTANDORT = dgvImport.Rows(r).Cells("NWSTANDORT").Value.ToString
|
||||
' Modell = dgvImport.Rows(r).Cells("Modell").Value.ToString
|
||||
'LinkedWith = dgvImport.Rows(r).Cells("LinkedWith").Value.ToString
|
||||
'AddIP = dgvImport.Rows(r).Cells("AddIP").Value.ToString
|
||||
|
||||
HOST = dgvImport.Rows(r).Cells("HOST").Value
|
||||
'Linked = dgvImport.Rows(r).Cells("Linked").Value
|
||||
|
||||
Try
|
||||
Standort = dgvImport.Rows(r).Cells("Standort").Value.ToString
|
||||
If Count(Standort) > 40 Then
|
||||
Standort = Standort.Substring(0, 40)
|
||||
End If
|
||||
Catch ex As Exception
|
||||
Standort = ""
|
||||
End Try
|
||||
|
||||
|
||||
|
||||
Try
|
||||
' Dim SQLUpdate As String = "FQDN = '" & FQDN & "', QINFO = '" & QINFO & "', NETNAME = '" & NETNAME & "', STANDORT = '" & Standort & "', Seriennummer = '" & Seriennummer & "', MAC = '" & MAC & "', Benutzer = '" & Benutzer & "', Passwort = '" & Passwort & "', LINK = '" & LINK & "', INFO = '" & INFO & "', TYPE = '" & TYPE & "', HOST = '" & HOST & "', NWSTANDORT = '" & NWSTANDORT & "', Modell = '" & Modell & "', Linked = '" & Linked & "', LinkedWith = '" & LinkedWith & "', AddIP = '" & AddIP & "' WHERE IPAdresse = '" & IPAdresse & "'"
|
||||
Dim SQLUpdate As String = "FQDN = '" & FQDN & "', QINFO = '" & QINFO & "', NETNAME = '" & NETNAME & "', STANDORT = '" & Standort & "', Seriennummer = '" & Seriennummer & "', MAC = '" & MAC & "', HOST = '" & HOST & "', NWSTANDORT = '" & NWSTANDORT & "' WHERE IPAdresse = '" & IPAdresse & "'"
|
||||
If ChkSkip.Checked = False Then
|
||||
If IPbereitsvorhanden(IPAdresse) = True Then
|
||||
con.Open()
|
||||
cmd.CommandText = "Update Tbl_Netzwerkclients SET " & SQLUpdate & ""
|
||||
cmd.ExecuteNonQuery()
|
||||
con.Close()
|
||||
ElseIf IPbereitsvorhanden(IPAdresse) = False Then
|
||||
con.Open()
|
||||
cmd.CommandText = "INSERT INTO Tbl_Netzwerkclients (IPAdresse, Host, Info, Linked) VALUES ('" & IPAdresse & "', '" & HOST & "', 'Importiert aus CSV', '0')"
|
||||
cmd.ExecuteNonQuery()
|
||||
'cmd.CommandText = "UPDATE Tbl_Netzwerkclients SET QINFO = 'Test' WHERE IPAdresse = '" & IPAdresse & "'"
|
||||
cmd.CommandText = "Update Tbl_Netzwerkclients SET " & SQLUpdate & ""
|
||||
cmd.ExecuteNonQuery()
|
||||
con.Close()
|
||||
End If
|
||||
|
||||
ElseIf ChkSkip.Checked = True Then
|
||||
If IPbereitsvorhanden(IPAdresse) = True Then
|
||||
|
||||
ElseIf IPbereitsvorhanden(IPAdresse) = False Then
|
||||
con.Open()
|
||||
cmd.CommandText = "INSERT INTO Tbl_Netzwerkclients (IPAdresse, Host) VALUES ('" & IPAdresse & "', '" & HOST & "')"
|
||||
cmd.ExecuteNonQuery()
|
||||
cmd.CommandText = "Update Tbl_Netzwerkclients SET " & SQLUpdate & ""
|
||||
cmd.ExecuteNonQuery()
|
||||
con.Close()
|
||||
End If
|
||||
End If
|
||||
|
||||
Catch ex As Exception
|
||||
MsgBox("Import: " & ex.Message)
|
||||
con.Close()
|
||||
End Try
|
||||
Next
|
||||
Catch ex As Exception
|
||||
MsgBox("Import Variablen definieren: " & ex.Message)
|
||||
con.Close()
|
||||
End Try
|
||||
con.Close()
|
||||
|
||||
Try
|
||||
con.Open()
|
||||
cmd.CommandText = "UPDATE Tbl_Netzwerkclients SET STANDORT='' WHERE STANDORT IS NULL"
|
||||
cmd.ExecuteNonQuery()
|
||||
cmd.CommandText = "UPDATE Tbl_Netzwerkclients SET MODELL='' WHERE MODELL IS NULL"
|
||||
cmd.ExecuteNonQuery()
|
||||
cmd.CommandText = "UPDATE Tbl_Netzwerkclients SET TYPE='' WHERE TYPE IS NULL"
|
||||
cmd.ExecuteNonQuery()
|
||||
con.Close()
|
||||
Catch ex As Exception
|
||||
|
||||
End Try
|
||||
End Function
|
||||
|
||||
Private Function Count(Strrrring As String)
|
||||
Dim co As Integer = 0
|
||||
For Each ch As Char In Strrrring
|
||||
co = co + 1
|
||||
Next
|
||||
Return co
|
||||
End Function
|
||||
|
||||
Private Sub CmdTest_Click(sender As Object, e As EventArgs) Handles CmdTest.Click
|
||||
End Sub
|
||||
|
||||
Private Sub CmdImport_Click(sender As Object, e As EventArgs) Handles CmdImport.Click
|
||||
If ChkSkip.Checked = True Then
|
||||
If MsgBox("Importieren?", MsgBoxStyle.OkCancel) = MsgBoxResult.Ok Then
|
||||
Import()
|
||||
Else
|
||||
Exit Sub
|
||||
End If
|
||||
ElseIf ChkSkip.Checked = False Then
|
||||
If MsgBox("Importieren? Bestehende Datensätze werden mit Importdatei überschrieben!" & vbCrLf & "Wenn dies nicht gewünscht ist, bitte Häkchen setzen...", MsgBoxStyle.OkCancel) = MsgBoxResult.Ok Then
|
||||
Import()
|
||||
Else
|
||||
Exit Sub
|
||||
End If
|
||||
End If
|
||||
|
||||
End Sub
|
||||
End Class
|
||||
Reference in New Issue
Block a user