I think I'm deleting my Rows in a Complete Terrible Way. First I get the INDEX of the Selected Item (List Box, or COMBO then I usally add 1 to it to even it out to the Auto Increment that my Database Column Has. But See the Problem is, Say I have 5 Items
2
5
1
6
4
I want to Delete 1 and 6
That would be Index 3 and 4 & Auto Increment 3 and 4
But when I go and try and Delete 4 Now, it their is No AutoIncrement 3 so it just debuggs
Heres my Code: what would be a much better way of doing it? I was told to use a Value that would never be changed (CIndex [AutoIncrement Value]) but now how would I get that value :P
vb Code:
Public Sub DeleteEvent() With frmEvents Connection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & DatabaseName) Connection.Open() Adapter.DeleteCommand = New OleDbCommand("DELETE FROM Events WHERE CIndex = @CIndex") Adapter.DeleteCommand.Connection = Connection Adapter.DeleteCommand.Parameters.AddWithValue("@CIndex", .cmbEditEvents.SelectedIndex) Adapter.DeleteCommand.ExecuteNonQuery() frmOverview.lstEvents.Items.RemoveAt(.cmbEditEvents.SelectedIndex) .cmbEditEvents.Items.RemoveAt(.cmbEditEvents.SelectedIndex) frmOverview.rtbEvents.Text = vbNullString Connection.Close() RemoveTextFromEvent() End With End Sub




Reply With Quote