"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

VB.NET , ADO.NET Probleme help

p44ever 28.05.2005 - 17:12 949 0
Posts

p44ever

Ed
Avatar
Registered: Apr 2002
Location: c
Posts: 1072
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

Code: PHP
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.jpg

es 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!
datenf_rar_80592.txt (downloaded 51x)
Bearbeitet von p44ever am 28.05.2005, 17:16
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz