首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

解决点饥太快有关问题

2012-01-29 
解决点饥太快问题Adodc1.Recordset.DeleteAdodc1.Recordset.Update删除数据内容时,点击太快的话会出错,难

解决点饥太快问题
Adodc1.Recordset.Delete
Adodc1.Recordset.Update

删除数据内容时,点击太快的话会出错,难道需要时间控件来限制点击速度吗?

[解决办法]
点击之前将按钮设置为不可用,删除之后,再设置为可用。

Button1.Enabled = False

Adodc1.Recordset.Delete
Adodc1.Recordset.Update

Button1.Enabled = True

试一下,未测试

═══════════════════
http://www.egooglet.com 资料、源码下载

http://bbs.j2soft.cn 论坛交流
═══════════════════
[解决办法]
EditMode 属性
指示当前记录的编辑状态。

返回值
返回 EditModeEnum 值。

说明
ADO 保存与当前记录相关联的编辑缓冲区。此属性指示是否已对此缓冲区进行了更改,或者指示是否已创建了新记录。用 EditMode 属性确定当前记录的编辑状态。如果编辑进程被中断,可以对挂起更改进行测试,并确定是否需要使用 Update 或 CancelUpdate 方法。

有关不同编辑条件下 EditMode 属性的详细说明,请参阅 AddNew 方法。

如果调用 Delete 不能成功删除数据源中的记录(例如,由于违反引用完整性),Recordset 将仍处于编辑模式下(EditMode = adEditInProgress)。这意味着必须在删除当前记录之前调用 CancelUpdate(例如,使用 Move、NextRecordset 或 Close)。

注意 EditMode 只有存在当前记录时才返回有效值。如果 BOF 或 EOF 为 True 或当前记录已被删除,EditMode 将返回错误。
请参阅
[解决办法]
第一句加上

If rs.State = adStateOpen Then Exit Sub

rs的名称改成你自己的recordset名称,当数据集还没有关闭的情况下退出过程,这样就不会出错了
[解决办法]
要不你多刷新几次看下Adodc1.Recordset.Delete
Adodc1.Recordset.Update
Adodc1.Recordset.Update
Adodc1.Recordset.Update
[解决办法]
用rs.state=adStateExecuting判断
如果为真(正在执行)则忽略点击.
[解决办法]
那个我就不知道了,那本书的作者没说/
他只是说他执行这代码时出错.
adodc1.recordset.movefirst
Adodc1.Recordset.Delete
Adodc1.Recordset.Delete
Adodc1.Recordset.Delete

他说他在第二个Adodc1.Recordset.Delete时就出错,出错的显示信息是: 给定hrow涉及一硬删除或软删除行.最后研究了一个多月加了个 do events就好了.
adodc1.recordset.movefirst
Adodc1.Recordset.Delete
do events
Adodc1.Recordset.Delete
do events
Adodc1.Recordset.Delete
do events

[解决办法]
Private Sub Command1_Click()
Command1.Enabled = False

'.................
'这里写上delete和update的代码
'.................

Command1.Enabled = True
End Sub

热点排行