Hallo zusammen,
ich versuche in Visual Basic 2010 Express mir einen "Vokabeltrainer" zu programmieren.
Dafür soll eine Access-Datenbank die Grundlage sein.
Hier zu meinem Code:
Mein Problem ist, dass zwar die Textboxen geleert werden, der Eintrag aber nicht in die Datenbank eingefügt wird.
Könnt ihr mir einen Tipp geben?
* Topic verschoben *
ich versuche in Visual Basic 2010 Express mir einen "Vokabeltrainer" zu programmieren.
Dafür soll eine Access-Datenbank die Grundlage sein.
Hier zu meinem Code:
Quellcode
- Imports System.Data.OleDb
- Imports System.Net
- Imports System.IO
- Class Form1
- Dim con As New OleDbConnection
- Dim reader As OleDbDataReader
- Dim pnummer As New ArrayList
- Dim cmd As New OleDbCommand
- Public a As String
- Private Sub cmdAlleSehen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdAlleSehen.Click
- AlleSehen()
- If Not IO.File.Exists("C:\language_english.mdb") Then
- MsgBox("Die Datenbank muss sich auf dem Laufwerk C befinden, damit das Programm ordnungsgemäß ausgeführt werden kann.", MsgBoxStyle.Information)
- Exit Sub
- End If
- End Sub
- Private Sub cmdNameSuchen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdNameSuchen.Click
- If Not IO.File.Exists("C:\language_english.mdb") Then
- MsgBox("Die Datenbank muss sich auf dem Laufwerk C befinden, damit das Programm ordnungsgemäß ausgeführt werden kann.", MsgBoxStyle.Information)
- Exit Sub
- End If
- Try
- con.Open()
- cmd.CommandText =
- "select * from english:Tabelle where" & " deutsch like '%" & txtName.Text & "%'"
- Ausgabe()
- Catch ex As Exception
- End Try
- con.Close()
- End Sub
- Private Sub cmdEinfügen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdEinfügen.Click
- If Not IO.File.Exists("C:\language_english.mdb") Then
- MsgBox("Die Datenbank muss sich auf dem Laufwerk C befinden, damit das Programm ordnungsgemäß ausgeführt werden kann.", MsgBoxStyle.Information)
- Exit Sub
- End If
- Dim anzahl As Integer
- Try
- con.Open()
- cmd.CommandText =
- "insert into english:Tabelle " & "(deutsch, englisch) values ('" & txtName.Text & "', '" & txtVorname.Text & "')"
- anzahl = cmd.ExecuteNonQuery()
- If anzahl > 0 Then
- MessageBox.Show("Die Datenbank wurde aktualisiert!")
- End If
- Catch ex As Exception
- End Try
- con.Close()
- AlleSehen()
- End Sub
- Private Sub cmdÄndern_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdÄndern.Click
- If Not IO.File.Exists("C:\language_english.mdb") Then
- MsgBox("Die Datenbank muss sich auf dem Laufwerk C befinden, damit das Programm ordnungsgemäß ausgeführt werden kann.", MsgBoxStyle.Information)
- Exit Sub
- End If
- Dim anzahl As Integer
- Try
- con.Open()
- cmd.CommandText = "update english:Tabelle set " & "deutsch = '" & txtName.Text & "', " & "englisch = '" & txtVorname.Text & "')"
- anzahl = cmd.ExecuteNonQuery()
- If anzahl > 0 Then
- MessageBox.Show("Die Datenbank wurde geändert!")
- End If
- Catch ex As Exception
- End Try
- con.Close()
- AlleSehen()
- End Sub
- Private Sub cmdLöschen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdLöschen.Click
- If Not IO.File.Exists("C:\language_english.mdb") Then
- MsgBox("Die Datenbank muss sich auf dem Laufwerk C befinden, damit das Programm ordnungsgemäß ausgeführt werden kann.", MsgBoxStyle.Information)
- Exit Sub
- End If
- Dim anzahl As Integer
- If txtName.Text = "" Then
- MessageBox.Show("Bitte wählen Sie einen Datensatz aus!")
- Exit Sub
- End If
- Try
- con.Open()
- cmd.CommandText = "delete from english:Tabelle " & "where deutsch = " & pnummer(lstTab.SelectedIndex)
- anzahl = cmd.ExecuteNonQuery()
- If anzahl > 0 Then
- MessageBox.Show("Der Datensatz wurde gelöscht!")
- End If
- Catch ex As Exception
- End Try
- con.Close()
- AlleSehen()
- End Sub
- Private Sub AlleSehen()
- Try
- con.Open()
- cmd.CommandText = "select * from english:Tabelle"
- Ausgabe()
- Catch ex As Exception
- End Try
- con.Close()
- txtName.Text = ""
- txtVorname.Text = ""
- End Sub
- Private Sub Ausgabe()
- reader = cmd.ExecuteReader()
- lstTab.Items.Clear()
- pnummer.Clear()
- Do While reader.Read()
- lstTab.Items.Add(reader("deutsch") & " # " & reader("englisch"))
- pnummer.Add(reader("deutsch"))
- Loop
- reader.Close()
- End Sub
- Private Sub lstTab_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lstTab.SelectedIndexChanged
- Try
- con.Open()
- cmd.CommandText = "select * from english:Tabelle" & " where deutsch = " & pnummer(lstTab.SelectedIndex)
- reader = cmd.ExecuteReader()
- reader.Read()
- txtName.Text = reader("deutsch")
- txtVorname.Text = reader("englisch")
- reader.Close()
- Catch ex As Exception
- End Try
- con.Close()
- End Sub
- Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
- If Not IO.File.Exists("C:\language_english.mdb") Then
- MsgBox("Die Datenbank muss sich auf dem Laufwerk C befinden, damit das Programm ordnungsgemäß ausgeführt werden kann.", MsgBoxStyle.Information)
- Exit Sub
- End If
- lstTab.Visible = True
- PictureBox1.Visible = False
- End Sub
- Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
- If Not IO.File.Exists("C:\language_english.mdb") Then
- MsgBox("Die Datenbank muss sich auf dem Laufwerk C befinden, damit das Programm ordnungsgemäß ausgeführt werden kann.", MsgBoxStyle.Information)
- Exit Sub
- End If
- lstTab.Visible = False
- PictureBox1.Visible = True
- End Sub
- End Class
Mein Problem ist, dass zwar die Textboxen geleert werden, der Eintrag aber nicht in die Datenbank eingefügt wird.
Könnt ihr mir einen Tipp geben?
* Topic verschoben *
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „der_Kurt“ ()