我修改DataGrid中的记录后,数据库中对应的记录并未发生任何变化,大家帮我看看是怎么回事.是否在修改DataGrid中的记录后还需要增加其他什么语句(比如修改数据库记录后,要用DataAdapter.Update和DataSet.AcceptChanges),以下函数中的For循环修改DataGrid中的部分记录中的一列,修改后我想数据库中的对应记录跟着变
Private Sub btnDeleteStep_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDeleteStep.Click '首先判断表中是否为空,若为空则不能执行删除操作
If datagridTestStep.VisibleRowCount = 0 Then
MsgBox("表中数据已空,无法进行删除操作!", MsgBoxStyle.Critical, "删除提示")
Exit Sub
End If Dim stepNo As Integer = datagridTestStep.CurrentCell.RowNumber + 1 '表中数据不空,在删除前进行删除确认提示!
If MsgBox("您确实要删除第" + stepNo.ToString + "步吗?", vbQuestion + vbOKCancel, "删除提示") = DialogResult.Cancel Then '不删除
Exit Sub
Else
Try
Dim strSQL As String = "Delete From TestStep Where 步骤= " + stepNo.ToString()
Dim cmd As New OleDbCommand(strSQL, myCon)
If myCon.State = ConnectionState.Closed Then
myCon.Open()
End If
cmd.ExecuteNonQuery()
Catch ex As Exception
MsgBox(ex.ToString)
Finally
myCon.Close()
End Try '修改表中的步骤字段和返回步骤数下拉框中的内容 Dim i As Integer
For i = stepNo To datagridTestStep.VisibleRowCount - 1 '修改表中的步骤字段
datagridTestStep.Item(i, 0) = (i - 1).ToString
'修改返回步骤数下拉框中的内容
cmbStepNo.Items(i + 1) = i.ToString
Next '在返回步骤数下拉框中移出被删除的步骤
cmbStepNo.Items.RemoveAt(stepNo) '显示更新后的数据
DisplayTestStep()
End If
End Sub
Private Sub btnDeleteStep_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDeleteStep.Click '首先判断表中是否为空,若为空则不能执行删除操作
If datagridTestStep.VisibleRowCount = 0 Then
MsgBox("表中数据已空,无法进行删除操作!", MsgBoxStyle.Critical, "删除提示")
Exit Sub
End If Dim stepNo As Integer = datagridTestStep.CurrentCell.RowNumber + 1 '表中数据不空,在删除前进行删除确认提示!
If MsgBox("您确实要删除第" + stepNo.ToString + "步吗?", vbQuestion + vbOKCancel, "删除提示") = DialogResult.Cancel Then '不删除
Exit Sub
Else
Try
Dim strSQL As String = "Delete From TestStep Where 步骤= " + stepNo.ToString()
Dim cmd As New OleDbCommand(strSQL, myCon)
If myCon.State = ConnectionState.Closed Then
myCon.Open()
End If
cmd.ExecuteNonQuery()
Catch ex As Exception
MsgBox(ex.ToString)
Finally
myCon.Close()
End Try '修改表中的步骤字段和返回步骤数下拉框中的内容 Dim i As Integer
For i = stepNo To datagridTestStep.VisibleRowCount - 1 '修改表中的步骤字段
datagridTestStep.Item(i, 0) = (i - 1).ToString
'修改返回步骤数下拉框中的内容
cmbStepNo.Items(i + 1) = i.ToString
Next '在返回步骤数下拉框中移出被删除的步骤
cmbStepNo.Items.RemoveAt(stepNo) '显示更新后的数据
DisplayTestStep()
End If
End Sub
解决方案 »
- 读sqlite 速度慢的问题
- 求助淘宝API的问题
- C#的初学者 请教个问题!关于do...while跟while
- 小问题: 可以在AxWebBrowser中禁止一切 选择, 复制粘贴, 右键点击 等操作吗?
- C#如何修改注册项默认值
- 急请教高手:C/S程序如何获取本机某站点下,某虚拟目录的物理路径?
- .NET Remoting内存泄漏问题(急!)
- winform的程序为什么设置控件的无效??
- ajieboy(齐)、qdzx2008()两位兄弟来取分呀!
- 如何将音频文件拖动到listBox中,并能够播放它?请高手指教!
- 关于dropdownlist指定项的问题
- 能不能将字符串值赋给一个enum变量
在datagridTestStep.Item(i, 0) = (i - 1).ToString后需要加其他什么语句才能使修改后就立即反映到数据库中?(不用DataAdapter对象的Update方法,因为我在这个函数中我根本未定义DataAdapter,DataGrid的填充是在其他函数中完成的)