是否可以“如果出错则不提交更改”?

Posted

技术标签:

【中文标题】是否可以“如果出错则不提交更改”?【英文标题】:Is it possible to "NOT commit changes if error"? 【发布时间】:2014-07-31 09:08:49 【问题描述】:

当我将“Long Integer”字段更改为字母时,我的 DataGridView(绑定在 MS Access 数据库中)中出现 DataError,但在显示错误后仍然提交我所做的更改 , 在单元格中输入字母。

如何使单元格的值恢复到之前的有效值,即数字?

【问题讨论】:

您能提供一些您用来执行此操作的代码吗? still commits the change 是什么意思?如果数据错误的context 包含Commit,则抛出错误,因为它可能提交数据。 【参考方案1】:

正如我在评论中所说:如果数据错误的上下文包含Commit,则抛出错误,因为它可能提交数据。

现在,在您的数据错误处理程序中,调用网格CancelEdit

类似这样的:

Private Sub DataGridView1_DataError(sender As Object, e As DataGridViewDataErrorEventArgs) Handles DataGridView1.DataError
    If ((e.Context And DataGridViewDataErrorContexts.Commit) = DataGridViewDataErrorContexts.Commit) Then
        e.ThrowException = False
        Me.DataGridView1.CancelEdit()
    Else
        e.ThrowException = True
    End If
End Sub

【讨论】:

以上是关于是否可以“如果出错则不提交更改”?的主要内容,如果未能解决你的问题,请参考以下文章

奇偶校验位

python 错误处理

opencv2.3.1中的adaboost是否还可以用lbp特征来进行训练

python3学习笔记 错误处理

sqlplus执行sql文件出错后继续

SQL Server事务执行一半出错是否自动回滚整个事务