在表中删除一行记录
想通过一个按钮实现数据库的删除操作,我写了一个,每次只能删除一次,第二次就出现:并发冲突: DeleteCommand 影响 0 个记录。请问如何解决,由于水平有限,希望各位大哥能给详细的讲讲,谢谢。
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Try
Dim ParaValue As String
ParaValue = DataGrid1.Item(DataGrid1.CurrentRowIndex, 0)
CType(MyCurrencyManager.Current, DataRowView).Row.Delete()
Dim CRow As DataSet
CRow = MyDS.GetChanges(DataRowState.Deleted)
OledbCmd.CommandText = "DELETE FROM charge Where 企业名称 = ?"
OledbCmd.Parameters.Clear()
OledbCmd.Parameters.Add("企业名称", ParaValue)
OledbDA.DeleteCommand = OledbCmd
OledbDA.Update(CRow, "charge")
End Try
End Sub
问题点数:30、回复次数:4Top
1 楼gzy11(可可猫)回复于 2005-07-09 12:03:26 得分 10
Dim a1 As String
Dim d1 As New DataGridCell
Try
a1 = Me.DataGrid1.Item(Me.DataGrid1.CurrentCell.RowNumber, 0)
myconn.Open()
myDeleteCommand.CommandText = " delete from SetUp where 姓名 = '" & a1 & "' "
myDeleteCommand.Connection = myconn
myDataAdapter.DeleteCommand = myDeleteCommand
myDataAdapter.DeleteCommand.ExecuteNonQuery()
myconn.Close()
Catch ex As Exception
MessageBox.Show(ex.Message.ToString)
myconn.Close()
End Try
myDataSet.tables("SetUp").clear()
read()
Me.DataGrid1.CurrentCell = d1Top
2 楼gzy11(可可猫)回复于 2005-07-09 12:11:20 得分 10
上面的代码是用鼠标点击DataGrid删除行
变量:
Public myconn As New OleDbConnection("provider=microsoft.jet.oledb.4.0;password=''; user id =admin;data source = .\DATA.dll;")
Public myDataAdapter As New OleDbDataAdapter
Public mySelectCommand As New OleDbCommand
Public myInsertCommand As New OleDbCommand
Public myUpDateCommand As New OleDbCommand
Public myDeleteCommand As New OleDbCommand
Public myDataSet = New DataSet("mynewDataSet")Top
3 楼Alisa(零度百合)回复于 2005-07-09 18:02:47 得分 5
Private Sub Delete_Row()
Dim DeleteUserRowCmd, DeleteInfoRowCmd As String
Dim CoperCode As String
Me.MyCnn.ConnectionString = "...."
Me.MyCmd.CommandText = "Select Count(1) FROM table WHERE "
Me.MyCmd.Connection = Me.MyCnn
Try
CoperCode = me.code.Text
MyCnn.Open()
'判断当前是否是空行
If CoperCode Is Nothing Then
MessageBox.Show("没有要删除的数据,请核实!", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information)
Else
'确认是否删除当前数据行
If MessageBox.Show("是否确认删除该条信息?", "提示信息", MessageBoxButtons.YesNo, MessageBoxIcon.Information) = DialogResult.Yes Then
DeleteUserRowCmd = "DELETE table WHERE 条件"
RunCommandNonQuery(MyCnn, DeleteUserRowCmd)
DeleteInfoRowCmd = "delete table where 条件"
RunCommandNonQuery(MyCnn, DeleteInfoRowCmd)
MessageBox.Show("记录已删除!", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information)
End If
end If
Catch ex As Exception
MessageBox.Show("删除失败!", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Error)
Finally
Me.MyCnn.Close()
Me.MyAdp.Dispose()
Me.MyDst.Dispose()
End Try
End SubTop
4 楼kissnono(塔.拉夏的灵魂)回复于 2005-07-11 09:35:10 得分 5
楼主:你的dataset没有acceptchanges。
在update之后,MyDS.tables("charge").acceptchanges.Top




