hallo experts...
ich möchte (als Übung für meinen Job) ein kleines Verwaltungsprogramm für meine Filmesammlung in VB schreiben.
Dazu habe ich eine im VB2008 eine lokale Datenbank (MovieDB.mdf) angelegt.
Dann habe ich ein ListboxControl-Element auf meinem Formular welches mir die Daten aus der Tabelle anzeigt.
Desweiteren gibt es ein Paar Textfelder für die Tabellenwerte und und ein paar Buttons. Die ersten Funktionen (anzeigen und hinzufügen) funktionieren einwandfrei.
So weit so gut. Nun zu meinem Problem:
für die Funktion Ändern soll/muss vorher ein Datensatz im Listenfeld (lstTab2) ausgewählt werden. Die Daten des Feldes sollen dann wieder in den Textboxen erscheinen.
Dazu habe ich eine Funktion gefunden die aber ein Paar fehler aufweist. Irgendwie gibt es da eine Arraylist (Myal) aber die ist nirgens deklariert. Was muss ich tun?
anbei mein Code...
ich hoffe mir kann jem. helfen. Danke im Voraus
ich möchte (als Übung für meinen Job) ein kleines Verwaltungsprogramm für meine Filmesammlung in VB schreiben.
Dazu habe ich eine im VB2008 eine lokale Datenbank (MovieDB.mdf) angelegt.
Dann habe ich ein ListboxControl-Element auf meinem Formular welches mir die Daten aus der Tabelle anzeigt.
Desweiteren gibt es ein Paar Textfelder für die Tabellenwerte und und ein paar Buttons. Die ersten Funktionen (anzeigen und hinzufügen) funktionieren einwandfrei.
So weit so gut. Nun zu meinem Problem:
für die Funktion Ändern soll/muss vorher ein Datensatz im Listenfeld (lstTab2) ausgewählt werden. Die Daten des Feldes sollen dann wieder in den Textboxen erscheinen.
Dazu habe ich eine Funktion gefunden die aber ein Paar fehler aufweist. Irgendwie gibt es da eine Arraylist (Myal) aber die ist nirgens deklariert. Was muss ich tun?
anbei mein Code...
ich hoffe mir kann jem. helfen. Danke im Voraus
VB.NET-Quellcode
- Imports System.Data.SqlClient
- Imports System.Collections.ArrayList
- Public Class Bearbeiten
- Private Sub Spezial_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
- Übersicht()
- End Sub
- Private Sub btnHinzufügen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnHinzufügen.Click
- Dim anzahl As Integer
- Dim con As New SqlClient.SqlConnection
- Dim cmd As New SqlClient.SqlCommand
- If txtName.Text = "" Then
- MsgBox("Bitte mindestens einen Namen eintragen")
- Exit Sub
- End If
- Try
- con.ConnectionString = _
- "Data Source=.\SQLEXPRESS;AttachDbFilename=E:\VB Projects\Movies\Movies\MovieDB.mdf;Integrated Security=True;User Instance=True"
- cmd.Connection = con
- con.Open()
- cmd.CommandText = _
- "insert into Movie " & _
- "(ID, Name, Erscheinungsjahr, Genre, Schauspieler, Auszeichnungen, Bewertung, Sonstiges) " & _
- "values ('" & _
- txtID.Text & "', '" & _
- txtName.Text & "', '" & _
- txtJahr.Text & "', '" & _
- txtGenre.Text & "', '" & _
- txtActors.Text & "', '" & _
- txtAuszeichnungen.Text & "', '" & _
- txtBewertungen.Text & "', '" & _
- txtSonstiges.Text & "')"
- 'MsgBox(cmd.CommandText)
- anzahl = cmd.ExecuteNonQuery()
- If anzahl > 0 Then
- MsgBox("Es wurde ein Datensatz eingefügt")
- End If
- Catch ex As Exception
- MsgBox(ex.Message)
- End Try
- con.Close()
- Übersicht() ' Aufruf der Funktion Übersicht
- End Sub
- Private Sub SimpleButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSchliessen.Click
- Me.Hide() ' Schliessen des aktuellen Formulars
- End Sub
- Private Sub lstTab2_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lstTab2.SelectedIndexChanged
- Dim con As New SqlClient.SqlConnection
- Dim cmd As New SqlClient.SqlCommand
- Dim reader As SqlClient.SqlDataReader
- Try
- con.ConnectionString = _
- "Data Source=.\SQLEXPRESS;AttachDbFilename=E:\VB Projects\Movies\Movies\MovieDB.mdf;Integrated Security=True;User Instance=True"
- cmd.Connection = con
- con.Open()
- cmd.CommandText = _
- "select * from Movie " _
- & "where Name = " & Myal(lstTab2.SelectedIndex)
- reader = cmd.ExecuteReader()
- reader.Read()
- txtID.Text = reader("ID")
- txtName.Text = reader("Name")
- txtJahr.Text = reader("Erscheinungsjahr")
- txtGenre.Text = reader("Genre")
- txtActors.Text = reader("Schauspieler")
- txtAuszeichnungen.Text = reader("Auszeichnungen")
- txtBewertungen.Text = reader("Bewertung")
- txtSonstiges.Text = reader("Sonstiges")
- reader.Close()
- Catch ex As Exception
- MsgBox(ex.Message)
- End Try
- con.Close()
- End Sub
- Private Sub btnÄndern_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnÄndern.Click
- Dim anzahl As Integer
- Dim con As New SqlClient.SqlConnection
- Dim cmd As New SqlClient.SqlCommand
- If txtName.Text = "" Then
- MsgBox("Bitte einen Datensatz auswählen und mindestens einen Namen eintragen")
- Exit Sub
- End If
- Try
- con.ConnectionString = _
- "Data Source=.\SQLEXPRESS;AttachDbFilename=E:\VB Projects\Movies\Movies\MovieDB.mdf;Integrated Security=True;User Instance=True"
- cmd.Connection = con
- con.Open()
- cmd.CommandText = _
- "update movie set " & _
- "ID = '" & txtID.Text & "', " & _
- "name = '" & txtName.Text & "', " & _
- "Erscheinungsjahr = '" & txtJahr.Text & "', " & _
- "genre = '" & txtGenre.Text & "', " & _
- "Schauspieler = " & txtActors.Text & ", " & _
- "Auszeichnungen = " & txtAuszeichnungen.Text & ", " & _
- "Bewertung = " & txtBewertungen.Text & ", " & _
- "sonstiges = '" & txtSonstiges.Text & "' " & _
- "where name = " & Myal(lstTab2.SelectedIndex)
- 'MsgBox(cmd.CommandText)
- anzahl = cmd.ExecuteNonQuery()
- If anzahl > 0 Then
- MsgBox("Es wurde ein Datensatz geändert")
- End If
- Catch ex As Exception
- MsgBox(ex.Message)
- End Try
- con.Close()
- End Sub
- Private Sub Übersicht()
- Dim con As New SqlClient.SqlConnection
- Dim cmd As New SqlClient.SqlCommand
- Dim reader As SqlClient.SqlDataReader
- Try
- con.ConnectionString = _
- "Data Source=.\SQLEXPRESS;AttachDbFilename=E:\VB Projects\Movies\Movies\MovieDB.mdf;Integrated Security=True;User Instance=True"
- cmd.Connection = con
- cmd.CommandText = "select * from Movie"
- con.Open()
- reader = cmd.ExecuteReader()
- lstTab2.Items.Clear()
- Do While reader.Read()
- lstTab2.Items.Add(reader("ID") & " , " _
- & reader("Name") & " , " _
- & reader("Erscheinungsjahr") & " , " _
- & reader("Genre") & " , " _
- & reader("Schauspieler") & " , " _
- & reader("Auszeichnungen") & " , " _
- & reader("Bewertung") & " , " _
- & reader("Sonstiges"))
- Loop
- reader.Close()
- con.Close()
- Catch ex As Exception
- MsgBox(ex.Message)
- End Try
- End Sub
- End Class