想自己编一个确认按钮,然后再把数据变更反映到数据库。
还包括一个取消按钮,可以进行数据回滚。但我用datagrid发现在这上面作的数据修改直接就反映到数据库了。本来想设置datagrid的allowupdate属性初始为false,通过确认按钮变为true,再update,发现又完全不能修改数据。
还包括一个取消按钮,可以进行数据回滚。但我用datagrid发现在这上面作的数据修改直接就反映到数据库了。本来想设置datagrid的allowupdate属性初始为false,通过确认按钮变为true,再update,发现又完全不能修改数据。
不好意思,我水平比较菜。原先的代码是这样的: strQuery = "Select * From info "
With Adodc1
.ConnectionString = connstring
.RecordSource = strQuery
End With
Set DataGrid1.DataSource = Adodc1
添加或修改前,显式的加上一句启动事务的语句:
conn.BeginTrans如果确认提交到数据库,则提交事务:
conn.CommitTrans如果取消操作,则回滚事务:
conn.RollbackTrans
Set Recordset = New ADODB.Recordset
Recordset.open strQuery, con, adOpenKeyset, adLockOptimistic
Set Recordset.ActiveConnection = Nothing
Set DataGrid1.DataSource = RecordsetTo yuvotesyg518:你的语句可以运行,但时不时地会报错.
一个错误是
ITransaction::Commit 或 ITransaction::Abort 被调用,并且对象处于 zombie 状态.
还有个错误是
Run-time errer '-2147217900(80040e14)':
sp_cursoropen/sp_cursorprepare:语句参数只能是单个SELECT语句或单个存储过程.
是不是要先检测conn.State?
谢谢
详细情况请查看ADO的相关帮助