'Provider=Microsoft.Jet.OLEDB.4.0;Password="";User ID=Admin;Data Source=D:\Documents and Settings\Srdjan\My Documents\Visual Studio Projects\Kartoteka\Baza.mdb;Mode=Share Deny None;Extended Properties="";Jet OLEDB:System database="";Jet OLEDB:Registry Path="";Jet OLEDB:Database Password="";Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False
'"SELECT Mesto, [Pozivni broj] FROM Mesta WHERE (Mesto = ?)"
AdapterMesta.SelectCommand().Parameters("Mesto").Value = "Novi Sad"
AdapterMesta.Fill(DataSetMesta)
ListBoxAdapter.Fill(ListBoxDataSet)
ListBoxMesto.DataSource = ListBoxDataSet.Tables("Mesta")
ListBoxMesto.ValueMember = "Mesto"
Dim keys(0) As DataColumn
keys(0) = DataSetMesta.Tables("Mesta").Columns("Mesto")
DataSetMesta.Tables("Mesta").PrimaryKey = keys
TextBoxMesto.DataBindings.Add((New Binding("Text", DataSetMesta, "Mesta.Mesto")))
TextBoxPozivni.DataBindings.Add((New Binding("Text", DataSetMesta, "Mesta.Pozivni broj")))
End Sub
Private Sub ButtonPromeni_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonPromeni.Click
Dim IzmeniRed(1) As Object
IzmeniRed(0) = TextBoxMesto.Text
IzmeniRed(1) = TextBoxPozivni.Text
MsgBox(TextBoxMesto.Text)
DataSetMesta.Tables("Mesta").BeginLoadData()
DataSetMesta.Tables("Mesta").LoadDataRow(IzmeniRed, False)
Dim xDataSet As DataSet
xDataSet = DataSetMesta.GetChanges(DataRowState.Modified)
DataSetMesta.AcceptChanges()
DataSetMesta.Tables("Mesta").EndLoadData()
AdapterMesta.Update(xDataSet)
End Sub
Ovaj kod gore povezuje DataSet sa dve TextBox kontrole i nakon pritiska na dugme Promeni treba da unese promene dva polja (Mesto i Pozivni broj) u bazu. Sve radi korektno kada se menja samo polje pozivni broj, ali kada pokušam da promenim polje Mesto koje je Primary Key, dobijam poruku o grešci: