Ok hab 2 Problem !
1.Problem:
Wenn ich neue Daten hinzufügen dann update ausführe -> und direkt danach die neu erstellten Daten lösche und dann das update ausführe erscheint volgende Fehlermeldung:
Paralleitätsverlätzung: Der Delete Command hat sich auf 0 Datensätze ausgewirkt.
2.Problem:
Wenn ich über den Button btnBild_Click ein Bild in eine Picture Box lade kann ich über
Private Sub btnUpdate_Click keine neuen Daten mehr hinzufügen.Es erscheint diese Fehlermeldung:
Datei C:\Covers\Datenbank1.mdb nicht gefunden
Wie ist das möglich das mit die showDialog Methode meinen Datenbankfard durcheinanderbringt?
Hoffe ihr könnt mir helfen !
Cu thx
Imports System.Data.OleDb
Public Class Form1
Inherits System.Windows.Forms.Form
Public conn1 As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data" & _
"Source = Datenbank1.mdb;")
Public da1 As New OleDbDataAdapter("SELECT * FROM Tabelle1", conn1)
Public ds1 As DataSet
Public dv1 As DataView
Public drv1 As DataRowView Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As _
System.EventArgs) Handles MyBase.Load
' UpdateCommand:
Dim updStr1 As String = "UPDATE Tabelle1 SET Name = ? "
updStr1 &= " WHERE [ID] = ?"
Dim updCmd1 As New OleDbCommand(updStr1, conn1)
updCmd1.Parameters.Add("@p1", OleDbType.VarChar, 40, "Name")
Dim updPrm1 As OleDbParameter = updCmd1.Parameters.Add("@p2", _
OleDbType.Char, 5)
updPrm1.SourceColumn = "ID"
updPrm1.SourceVersion = DataRowVersion.Original
da1.UpdateCommand = updCmd1
' InsertCommand:
Dim insStr1 As String = "INSERT INTO Tabelle1 (Name) "
insStr1 &= "VALUES(?)"
Dim insCmd1 As New OleDbCommand(insStr1, conn1)
insCmd1.Parameters.Add("@p2", OleDbType.VarChar, 40, "Name")
da1.InsertCommand = insCmd1
' DeleteCommand:
Dim delStr1 As String = "DELETE FROM Tabelle1 WHERE [ID] = ?"
Dim delCmd1 As New OleDbCommand(delStr1, conn1)
Dim delPrm1 As OleDbParameter = delCmd1.Parameters.Add("@p1", _
OleDbType.Char, 5, "ID")
delPrm1.SourceVersion = DataRowVersion.Original
da1.DeleteCommand = delCmd1
'-------------------------------------------
' Combobox an Tabelle binden bzw DataSet füllen
ds1 = New DataSet
conn1.Open()
da1.Fill(ds1, "Tabelle1")
conn1.Close()
dv1 = New DataView(ds1.Tables("Tabelle1"))
ComboBox1.ValueMember = "Name"
ComboBox1.DataSource = dv1
End Sub Private Sub btnNeu_Click(ByVal sender As System.Object, ByVal e As _
System.EventArgs) Handles btnNeu.Click
drv1 = dv1.AddNew()
drv1.BeginEdit()
drv1.Item("Name") = TextBox1.Text
drv1.EndEdit()
End Sub
Private Sub btnLöschen_Click(ByVal sender As System.Object, ByVal e As _
System.EventArgs) Handles btnLöschen.Click
If dv1.Count > 0 Then dv1(ComboBox1.SelectedIndex).Delete()
End Sub
Private Sub btnUpdate_Click(ByVal sender As System.Object, ByVal e As _
System.EventArgs) Handles btnUpdate.Click
If ds1.HasChanges Then
Try
conn1.Open()
Dim m As Integer = da1.Update(ds1, "Tabelle1")
Dim s As String = "Anzahl der Änderungen: " & m.ToString
MessageBox.Show(s, "Update war erfolgreich!", _
MessageBoxButtons.OK, MessageBoxIcon.Information)
Catch ex As Exception
MessageBox.Show(ex.Message, "Update fehlgeschlagen!", _
MessageBoxButtons.OK, MessageBoxIcon.Information)
ds1.RejectChanges()
End Try
conn1.Close()
End If
End Sub
Private Sub btnBild_Click(ByVal sender As System.Object, ByVal e As _
System.EventArgs) Handles btnBild.Click
OpenFileDialog1.Filter = "Bitmaps (*.bmp, *.jpg) |*.bmp;*.jpg|" & "Alle" & _
"Dateien|*.* ) "
If OpenFileDialog1.ShowDialog = DialogResult.OK Then
PictureBox1.Image = System.Drawing.Image.FromFile( _
OpenFileDialog1.FileName)
End If
End Sub
End Class |