394 lines
13 KiB
VB.net
394 lines
13 KiB
VB.net
Imports System.Data.SqlClient
|
|
|
|
Public Class EintragBearbeiten
|
|
|
|
Public con As New SqlConnection
|
|
Public cmd As New SqlCommand
|
|
Public reader As SqlDataReader
|
|
|
|
Public Rubrik As String = Main.SenderRubrik
|
|
Public Titel As String = Main.SenderTitel
|
|
Public abfrage As String
|
|
Public Linked As String
|
|
Public LinkedWith As String
|
|
Public neu As Boolean = Main.Neu
|
|
Public neurubrik As Boolean = False
|
|
Public geaendert As Boolean
|
|
|
|
Private Sub EintragBearbeiten_Load(sender As Object, e As EventArgs) Handles MyBase.Load
|
|
dbload()
|
|
If Main.Debug = True Then
|
|
Panelhinten.Dock = DockStyle.Left
|
|
CmdTest.Visible = True
|
|
End If
|
|
If Neu = True Then
|
|
anzeigen()
|
|
Else
|
|
Me.Text = Titel
|
|
importieren(Rubrik, Titel)
|
|
End If
|
|
|
|
Class1.Autocomplete(TxtRubrik, "Rubrik", "Tbl_Allgemein")
|
|
End Sub
|
|
|
|
Public Function dbload()
|
|
con.ConnectionString = Class1.DBConString
|
|
cmd.Connection = con
|
|
End Function
|
|
|
|
Public Function importieren(Rubrik As String, titel As String)
|
|
abfrage = "Rubrik='" & Rubrik & "' AND Titel='" & titel & "'"
|
|
'MsgBox(standort & netzwerk & Host)
|
|
Try
|
|
con.Open()
|
|
cmd.CommandText = "SELECT * FROM TbL_Allgemein WHERE " & abfrage & ""
|
|
|
|
Catch ex As Exception
|
|
MsgBox("Fehler Function Import: " & ex.Message)
|
|
End Try
|
|
anzeigen()
|
|
con.Close()
|
|
geaendert = False
|
|
End Function
|
|
|
|
Public Function anzeigen()
|
|
TxtInfo.Text = ""
|
|
TxtBenutzername.Text = ""
|
|
TxtKennwort.Text = ""
|
|
TxtLink.Text = ""
|
|
TxtTitel.Text = ""
|
|
TxtRubrik.Text = Rubrik
|
|
Try
|
|
reader = cmd.ExecuteReader()
|
|
Do While reader.Read()
|
|
|
|
TxtTitel.Text = reader("Titel")
|
|
TxtInfo.Text = reader("Info")
|
|
TxtBenutzername.Text = reader("Benutzer")
|
|
TxtKennwort.Text = reader("Passwort")
|
|
TxtLink.Text = reader("LINK")
|
|
'TxtRubrik.Text = reader("Rubrik")
|
|
Loop
|
|
reader.Close()
|
|
Catch ex As Exception
|
|
'MsgBox("Hostbearbeiten.Ausgabe_Host reader.Read: " & ex.Message)
|
|
End Try
|
|
End Function
|
|
|
|
Public Function speichern(wie As String)
|
|
Dim InfoSQL As String = Class1.hochkomma(TxtInfo.Text)
|
|
Dim NameChanged As Boolean = False
|
|
|
|
con.Close()
|
|
|
|
abfrage_neu_rubrik(TxtRubrik.Text)
|
|
If Rubrik = TxtRubrik.Text And Titel = TxtTitel.Text Then
|
|
NameChanged = False
|
|
Else
|
|
NameChanged = True
|
|
If abfrage_exist(TxtRubrik.Text, TxtTitel.Text) = True Then
|
|
MsgBox("Bitte eindeutigen Namen verwenden.")
|
|
con.Close()
|
|
Exit Function
|
|
Else
|
|
con.Close()
|
|
End If
|
|
End If
|
|
|
|
|
|
Try
|
|
If wie = "Insert" Then
|
|
Rubrik = TxtRubrik.Text
|
|
Titel = TxtTitel.Text
|
|
con.Open()
|
|
cmd.CommandText = "INSERT INTO TbL_Allgemein (Titel, Rubrik) VALUES ('" & Titel & "', '" & Rubrik & "')"
|
|
cmd.ExecuteNonQuery()
|
|
abfrage = "Rubrik='" & Rubrik & "' AND Titel='" & Titel & "'"
|
|
cmd.CommandText = "UPDATE TbL_Allgemein SET Rubrik = '" & TxtRubrik.Text & "', Titel = '" & TxtTitel.Text & "', Info = '" & InfoSQL & "', Benutzer = '" & TxtBenutzername.Text & "', Passwort = '" & TxtKennwort.Text & "', Link = '" & TxtLink.Text & "' WHERE " & abfrage & ""
|
|
cmd.ExecuteNonQuery()
|
|
con.Close()
|
|
geaendert = False
|
|
neu = False
|
|
Main.Neu = False
|
|
ElseIf wie = "Update" Then
|
|
con.Close()
|
|
con.Open()
|
|
cmd.CommandText = "UPDATE TbL_Allgemein SET Rubrik = '" & TxtRubrik.Text & "', Titel = '" & TxtTitel.Text & "', Info = '" & InfoSQL & "', Benutzer = '" & TxtBenutzername.Text & "', Passwort = '" & TxtKennwort.Text & "', Link = '" & TxtLink.Text & "' WHERE " & abfrage & ""
|
|
cmd.ExecuteNonQuery()
|
|
con.Close()
|
|
geaendert = False
|
|
If NameChanged = True Then
|
|
Folder.FolderMove(Rubrik, Titel, TxtRubrik.Text, TxtTitel.Text)
|
|
End If
|
|
NameChanged = False
|
|
End If
|
|
|
|
Catch ex As Exception
|
|
MsgBox("Speichern(wie) : " & ex.Message)
|
|
con.Close()
|
|
End Try
|
|
Rubrik = TxtRubrik.Text
|
|
Titel = TxtTitel.Text
|
|
End Function
|
|
|
|
Private Function abfrage_neu_rubrik(rubrik As String)
|
|
con.Open()
|
|
cmd.CommandText = "SELECT * FROM TbL_Allgemein WHERE Rubrik='" & rubrik & "'"
|
|
cmd.ExecuteNonQuery()
|
|
reader = cmd.ExecuteReader()
|
|
If reader.Read() Then
|
|
neurubrik = False
|
|
'MsgBox("nicht neu")
|
|
Else
|
|
neurubrik = True
|
|
'MsgBox("Neu")
|
|
End If
|
|
con.Close()
|
|
End Function
|
|
|
|
Private Function abfrage_exist(rubrik As String, titel As String)
|
|
con.Open()
|
|
cmd.CommandText = "SELECT * FROM TbL_Allgemein WHERE Rubrik='" & rubrik & "' AND Titel='" & titel & "'"
|
|
cmd.ExecuteNonQuery()
|
|
reader = cmd.ExecuteReader()
|
|
If reader.Read() Then
|
|
Return True
|
|
con.Close()
|
|
Else
|
|
Return False
|
|
con.Close()
|
|
End If
|
|
con.Close()
|
|
End Function
|
|
|
|
|
|
Private Sub CmdSave_Click(sender As Object, e As EventArgs) Handles CmdSave.Click
|
|
If Neu = False Then
|
|
speichern("Update")
|
|
ElseIf Neu = True Then
|
|
speichern("Insert")
|
|
End If
|
|
|
|
End Sub
|
|
|
|
|
|
|
|
Private Function openfilepath()
|
|
Dim ds As New DataSet()
|
|
Dim islinked As Integer
|
|
Dim path As String
|
|
Try
|
|
dbload()
|
|
con.Open()
|
|
Dim sda As New SqlDataAdapter("SELECT * FROM TbL_Allgemein WHERE " & abfrage & "", con)
|
|
sda.Fill(ds)
|
|
con.Close()
|
|
Dim Info As String = ds.Tables(0).Rows(0).Item("Info")
|
|
|
|
If IsDBNull(ds.Tables(0).Rows(0).Item("Linked")) Then
|
|
islinked = "0"
|
|
ElseIf Not IsDBNull(ds.Tables(0).Rows(0).Item("Linked")) Then
|
|
islinked = ds.Tables(0).Rows(0).Item("Linked")
|
|
End If
|
|
If IsDBNull(ds.Tables(0).Rows(0).Item("LinkedWith")) Then
|
|
LinkedWith = ""
|
|
ElseIf Not IsDBNull(ds.Tables(0).Rows(0).Item("LinkedWith")) Then
|
|
LinkedWith = ds.Tables(0).Rows(0).Item("LinkedWith")
|
|
End If
|
|
|
|
If islinked = "1" Then
|
|
Dim dslinked As New DataSet()
|
|
|
|
dbload()
|
|
con.Open()
|
|
|
|
Dim da As New SqlDataAdapter("SELECT * FROM Tbl_Allgemein WHERE LinkedWith='" & LinkedWith & "'", con)
|
|
da.Fill(dslinked)
|
|
|
|
con.Close()
|
|
|
|
path = Class1.FilePath & "\" & dslinked.Tables(0).Rows(0).Item("Rubrik") & "\" & dslinked.Tables(0).Rows(0).Item("Titel") '& "\" & dslinked.Tables(0).Rows(0).Item("Host")
|
|
Else
|
|
'MsgBox("not linked")
|
|
path = Class1.FilePath & "\" & Rubrik & "\" & Titel '& "\" & SenderHost
|
|
End If
|
|
Catch ex As Exception
|
|
MsgBox("openfilepath() Tbl_Allgemein: " & ex.Message)
|
|
End Try
|
|
con.Close()
|
|
''Pfad öffnen:
|
|
Try
|
|
If IO.Directory.Exists(path) Then
|
|
Process.Start(path)
|
|
Else
|
|
IO.Directory.CreateDirectory(path)
|
|
Process.Start(path)
|
|
End If
|
|
Catch ex As Exception
|
|
End Try
|
|
|
|
|
|
End Function
|
|
|
|
Private Sub CmdDelete_Click(sender As Object, e As EventArgs) Handles CmdDelete.Click
|
|
Dim path As String
|
|
path = Class1.FilePath & "\" & Rubrik & "\" & Titel
|
|
|
|
If MsgBox("Eintrag wirklich löschen?", MsgBoxStyle.OkCancel) = MsgBoxResult.Ok Then
|
|
con.Open()
|
|
If MessageBox.Show("Dazugehörigen Ordner im Dateisystem löschen?", "Dateien löschen", MessageBoxButtons.YesNo) = DialogResult.Yes Then
|
|
deleteFiles(path, Rubrik)
|
|
ElseIf DialogResult.No Then
|
|
Exit Sub
|
|
End If
|
|
cmd.CommandText = "DELETE TbL_Allgemein WHERE " & abfrage & ""
|
|
cmd.ExecuteNonQuery()
|
|
con.Close()
|
|
Main.LstStandortLoad()
|
|
Me.Close()
|
|
Else
|
|
Exit Sub
|
|
End If
|
|
End Sub
|
|
Private Function deleteFiles(path As String, Rubrik As String)
|
|
Dim rubrikpath As String = Class1.FilePath & "\" & Rubrik
|
|
Try
|
|
If IO.Directory.Exists(path) Then
|
|
Dim files As String() = IO.Directory.GetFiles(path)
|
|
For Each file As String In files
|
|
IO.File.Delete(file)
|
|
Next
|
|
|
|
IO.Directory.Delete(path, True)
|
|
Else
|
|
'MsgBox("Kein Ordner zum Löschen gefunden: wird übersprungen.")
|
|
End If
|
|
Catch ex As Exception
|
|
MsgBox("Beim Löschen der Dateien: " & ex.Message)
|
|
End Try
|
|
''Überprüfen, ob letzter Eintrag der Rubrik bzw. ob Odner der Rubrik leer ist:
|
|
Try
|
|
If IO.Directory.Exists(rubrikpath) Then
|
|
Dim files As String() = IO.Directory.GetFiles(rubrikpath)
|
|
Dim folder As String() = IO.Directory.GetDirectories(rubrikpath)
|
|
Dim out As String = ""
|
|
For Each row As String In files
|
|
out &= row
|
|
Next
|
|
For Each row As String In folder
|
|
out &= row
|
|
Next
|
|
If out IsNot "" Then
|
|
Exit Function
|
|
Else
|
|
IO.Directory.Delete(rubrikpath, True)
|
|
End If
|
|
|
|
Else
|
|
'MsgBox("Kein Ordner zum Löschen gefunden: wird übersprungen.")
|
|
End If
|
|
Catch ex As Exception
|
|
MsgBox("Beim Löschen der Dateien: " & ex.Message)
|
|
End Try
|
|
|
|
End Function
|
|
|
|
Private Sub CmdDateien_Click(sender As Object, e As EventArgs) Handles CmdDateien.Click
|
|
openfilepath()
|
|
End Sub
|
|
|
|
|
|
|
|
|
|
Private Sub CmdLink_Click(sender As Object, e As EventArgs) Handles CmdLink.Click
|
|
Main.startlink()
|
|
End Sub
|
|
|
|
Private Sub ChkKennwortAnzeigen_CheckedChanged(sender As Object, e As EventArgs) Handles ChkKennwortAnzeigen.CheckedChanged
|
|
If ChkKennwortAnzeigen.Checked Then
|
|
TxtKennwort.PasswordChar = ""
|
|
Else
|
|
TxtKennwort.PasswordChar = "*"
|
|
End If
|
|
End Sub
|
|
|
|
Public Function abfrage_aenderungenspeichern()
|
|
If geaendert = False Then
|
|
Exit Function
|
|
ElseIf geaendert = True Then
|
|
Dim result As Integer = MsgBox("Änderungen speichern?", MsgBoxStyle.YesNo)
|
|
If result = MsgBoxResult.No Then
|
|
Exit Function
|
|
ElseIf result = MsgBoxResult.Yes Then
|
|
If neu = True Then
|
|
speichern("Insert")
|
|
Else
|
|
speichern("Update")
|
|
End If
|
|
End If
|
|
End If
|
|
geaendert = False
|
|
End Function
|
|
|
|
|
|
Private Sub TxtRubrik_TextChanged(sender As Object, e As EventArgs) Handles TxtRubrik.TextChanged, TxtTitel.TextChanged, TxtInfo.TextChanged, TxtBenutzername.TextChanged, TxtKennwort.TextChanged, TxtLink.TextChanged
|
|
geaendert = True
|
|
|
|
End Sub
|
|
|
|
Private Sub CmdReset_Click(sender As Object, e As EventArgs) Handles CmdReset.Click
|
|
If geaendert = True Then
|
|
If MsgBox("Änderungen verwerfen?", MsgBoxStyle.OkCancel) = MsgBoxResult.Ok Then
|
|
importieren(Rubrik, Titel)
|
|
Else
|
|
Exit Sub
|
|
End If
|
|
Else
|
|
Exit Sub
|
|
End If
|
|
|
|
End Sub
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
''''''''''''''''''''''''''''''''''''''''''''''''''DEBUG''''''''''''''''''''''''''''''''''''''''''''''''''
|
|
Private Sub DebugToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles DebugToolStripMenuItem.Click
|
|
Panelhinten.Dock = DockStyle.Left
|
|
CmdTest.Visible = True
|
|
End Sub
|
|
Private Sub CmdTest_Clicki(sender As Object, e As EventArgs) Handles CmdTest.Click
|
|
MsgBox(Rubrik & Titel & TxtRubrik.Text & TxtTitel.Text)
|
|
End Sub
|
|
|
|
''SCHLIESSEN''
|
|
Private Sub CmdAbbrechen_Click(sender As Object, e As EventArgs) Handles CmdAbbrechen.Click
|
|
'Main.LstStandortLoad()
|
|
abfrage_aenderungenspeichern()
|
|
If neurubrik = True Then
|
|
Main.LstStandortLoad()
|
|
End If
|
|
Main.dgvload(Main.Tabelle)
|
|
neu = False
|
|
Main.LstAllgemein.SelectedItem = TxtRubrik
|
|
Main.Activate()
|
|
Me.Close()
|
|
End Sub
|
|
|
|
Private Sub Hostbearbeiten_Closing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
|
|
'Main.LstStandortLoad()
|
|
abfrage_aenderungenspeichern()
|
|
If neurubrik = True Then
|
|
Main.LstStandortLoad()
|
|
End If
|
|
neu = False
|
|
Main.dgvload(Main.Tabelle)
|
|
Main.LstAllgemein.SelectedItem = TxtRubrik
|
|
Main.Activate()
|
|
End Sub
|
|
|
|
|
|
End Class |