p44ever
Ed
|
hiho ich möchte mit Visual Basic.Net aus einer Access Datenbank Lesen und Schreiben. Das Lesen geht problemlos aber ich habe es noch nie geschafft irgendwas in einer Datenbank zu Schreiben (Also löschen, Datensatz ändern oder neuen Datensatz einzufügen) ich hoffe ihr könnt mir helfen es ist wirklich sehr wichtig Imports System.Data
Imports System.Data.OleDb
Public Class Form1
Inherits System.Windows.Forms.Form
Const CONNECTION As String = _
"Provider=Microsoft.Jet.OleDb.4.0;Data Source=Filmverwaltung.mdb;User ID=;Password=;"
Dim objConnection As New OleDbConnection(CONNECTION)
Dim objDataAdapter As OleDb.OleDbDataAdapter
Dim objDataSet As DataSet
Dim objDataView As DataView
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
objDataView = Nothing
objDataSet = New DataSet
objConnection.Open()
objDataAdapter = New OleDb.OleDbDataAdapter _
("SELECT * FROM Filmsammlung", objConnection)
objDataAdapter.Fill(objDataSet, "Filmsammlung")
objDataView = _
New DataView(objDataSet.Tables("Filmsammlung"))
With Me
.txtFilmtitel.DataBindings.Add("Text", _
objDataView, "Filmtitel")
.txtProduktionsjahr.DataBindings.Add("Text", objDataView, _
"Produktionsjahr")
.txtMedium.DataBindings.Add("Text", objDataView, _
"Medium")
.txtGerne.DataBindings.Add("Text", objDataView, "Gerne")
.txtPreis.DataBindings.Add("Text", objDataView, "Preis")
AddHandler Me.BindingContext(objDataView). _
PositionChanged, AddressOf Datensatz_Ändern
Me.Datensatz_Ändern(objDataView, New System.EventArgs)
End With
End Sub
Private Sub btnback_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnback.Click
Me.BindingContext(objDataView).Position = Me.BindingContext(objDataView).Position - 1
End Sub
Private Sub btnnext_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnnext.Click
Me.BindingContext(objDataView).Position = Me.BindingContext(objDataView).Position + 1
End Sub
Private Sub Datensatz_Ändern(ByVal sender As Object, _
ByVal e As System.EventArgs)
Dim dblPos As Double = _
Me.BindingContext(objDataView).Position
Me.lblPos.Text = (dblPos + 1).ToString & " von " & _
objDataView.Count
Me.radsw.Checked = _
(objDataView.Item(dblPos).Item("Farbe") = 1)
Me.radfarbe.Checked = _
(objDataView.Item(dblPos).Item("Farbe") = 2)
If Me.BindingContext(objDataView).Position = 0 Then
btnbegin.Enabled = False
btnback.Enabled = False
Else
btnbegin.Enabled = True
btnback.Enabled = True
End If
If Me.BindingContext(objDataView).Position = Me.objDataView.Count - 1 Then
btnlast.Enabled = False
btnnext.Enabled = False
Else
btnlast.Enabled = True
btnnext.Enabled = True
End If
End Sub
Private Sub btnbegin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnbegin.Click
Me.BindingContext(objDataView).Position = 0
End Sub
Private Sub btnlast_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnlast.Click
Me.BindingContext(objDataView).Position = Me.objDataView.Count - 1
End Sub
Private Sub btnneu_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnneu.Click
Dim ctl As Control
For Each ctl In Me.Controls
If ctl.Name.StartsWith("txt") = True Then
ctl.Text = ""
End If
Next
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim objZeile As DataRow
objZeile = objDataSet.Tables("Filmsammlung").NewRow()
With objZeile
.Item("Filmtitel") = txtFilmtitel.Text
.Item("Produktionsjahr") = txtProduktionsjahr.Text
.Item("Medium") = txtMedium.Text
.Item("Gerne") = txtGerne.Text
.Item("Preis") = txtPreis.Text
If radsw.Checked = True Then
.Item("Farbe") = 1
Else
.Item("Farbe") = 2
End If
End With
objDataSet.Tables("Filmsammlung").Rows.Add(objZeile)
objDataAdapter.Update(objDataSet, "Filmsammlung")
End Sub
Private Sub btnchange_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnchange.Click
Dim dblPos As Double
dblPos = Me.BindingContext(objDataView).Position
With objDataSet.Tables("Filmsammlung").Rows(dblPos)
.Item("Filmtitel") = txtFilmtitel.Text
.Item("Produktionsjahr") = txtProduktionsjahr.Text
.Item("Medium") = txtMedium.Text
.Item("Gerne") = txtGerne.Text
.Item("Preis") = txtPreis.Text
If radsw.Checked = True Then
.Item("Farbe") = 1
Else
.Item("Farbe") = 2
End If
End With
objDataAdapter.Update(objDataSet, "Filmsammlung")
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
objDataSet.Tables("Filmsammlung").Rows(2).Delete()
objDataAdapter.Update(objDataSet, "Filmsammlung")
End Sub
Private Sub frmDB3_Closed(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles MyBase.Closed
objDataAdapter.Update(objDataSet, "Filmsammlung")
objConnection.Close()
objDataSet = Nothing
End Sub
End Class
ich bekomme immer dieser Fehler wenn ich auf den button Anhägen oder Löschen oder Ändern klicke: http://666kb.com/i/10gi9qn6g8qgw.jpges hängt mit folgenden befehl zusammen : objDataAdapter.Update(objDataSet, "Filmsammlung") ich hoffe ihr könnt mir helfen es ist wirklich sehr wichtig habe das programm angehängt!
Bearbeitet von p44ever am 28.05.2005, 17:16
|