Ho il seguente codice :
Private Sub Form4_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim ConnectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\archivio\pratiche.mdb;"
Dim conn As New OleDbConnection(ConnectionString)
conn.Open()
Dim adapter As New OleDbDataAdapter("SELECT ID,RAGSOC1,INDIRIZZO,COMUNE from medici;", conn)
Dim builder As New OleDbCommandBuilder(adapter)
Dim ds As New DataSet("dataSet")
adapter.Fill(ds, "medici")
Dim MediciTable As DataTable = ds.Tables("medici")
MediciTable.PrimaryKey = {MediciTable.Columns("ID")}
DGV.DataSource = MediciTable
End Sub
Private Sub cerca_Click(sender As Object, e As EventArgs) Handles cerca.Click
Dim cercaRiga As DataRow = MediciTable.Rows.Find(mioID)
If Not (cercaRiga Is Nothing) Then
Dim RESULT As DialogResult = MessageBox.Show(Me, "Cancelli il record?", "remove", MessageBoxButtons.YesNo)
If RESULT = DialogResult.Yes Then
MediciTable.Rows.Remove(cercaRiga)
MediciTable.AcceptChanges()
adapter.Update(ds, "medici")
MessageBox.Show("Record cancellato")
End If
End If
End Sub
Private Sub DGV_CellClick(sender As Object, e As DataGridViewCellEventArgs) Handles DGV.CellClick
mioID = DGV.Rows(DGV.CurrentRow.Index).Cells(0).Value
End Sub
Seleziono dalla datagrid un riga e clicco su cerca_click per modificare/cancellare i dati, ma ricevo il seguente messaggio di errore:
'La tabella non ha una chiave primaria.'
Se inserisco tutto il codice nella sub cerca...tutto funziona.
Mi aiutate a capire, per favore?