dc是客户机ADODB.Connection的dc,dc2是服务器ADODB.Connection的dc,
有没有这种可能,就是dc事务提交了,但是dc2事务没有提交。就是说,客户机已经把表的“状态”update 为“已执行”,但是实际sql语句没有插入到服务器的数据同步表。请问实现这种功能有没有更好的代码。(注:客户机和服务器连接是通过拨号上网连接的)
DC.BeginTrans
DC2.BeginTrans
SQL = "select * from 数据同步表 where 状态='新增' order by id"
If RS1.State <> adStateClosed Then RS1.Close
RS1.Open SQL, DC, adOpenDynamic, adLockBatchOptimistic, adCmdText
NewRecordCount = RS1.RecordCount
FrmSalesUDProgressBar.ProgressBar.Max = RS1.RecordCount
FrmSalesUDProgressBar.ProgressBar.Value = 0
Do While Not RS1.EOF
FrmSalesUDProgressBar.ProgressBar.Value = RS1.AbsolutePosition
ConversionSQL = RS1("命令语句")
ConversionSQL = Replace(ConversionSQL, "'", "''")
SQL = "insert into 数据同步表(ID,命令语句,所属仓库) values (" & RS1("id") & ",'" & ConversionSQL & "','" & RS1("所属仓库") & "')"
DC2.Execute SQL
RS1("状态") = "已执行"
RS1.MoveNext
DoEvents
If FrmSalesUDProgressBar.CmdCancelClick Then
DC.RollbackTrans
DC2.RollbackTrans
RS1.CancelBatch
RS1.Close
DC2.Close
Unload FrmSalesUDProgressBar
Exit Sub
End If
Loop
RS1.UpdateBatch
RS1.Close
DC.CommitTrans
On Error GoTo CancelUploadLine
DC2.CommitTrans
有没有这种可能,就是dc事务提交了,但是dc2事务没有提交。就是说,客户机已经把表的“状态”update 为“已执行”,但是实际sql语句没有插入到服务器的数据同步表。请问实现这种功能有没有更好的代码。(注:客户机和服务器连接是通过拨号上网连接的)
DC.BeginTrans
DC2.BeginTrans
SQL = "select * from 数据同步表 where 状态='新增' order by id"
If RS1.State <> adStateClosed Then RS1.Close
RS1.Open SQL, DC, adOpenDynamic, adLockBatchOptimistic, adCmdText
NewRecordCount = RS1.RecordCount
FrmSalesUDProgressBar.ProgressBar.Max = RS1.RecordCount
FrmSalesUDProgressBar.ProgressBar.Value = 0
Do While Not RS1.EOF
FrmSalesUDProgressBar.ProgressBar.Value = RS1.AbsolutePosition
ConversionSQL = RS1("命令语句")
ConversionSQL = Replace(ConversionSQL, "'", "''")
SQL = "insert into 数据同步表(ID,命令语句,所属仓库) values (" & RS1("id") & ",'" & ConversionSQL & "','" & RS1("所属仓库") & "')"
DC2.Execute SQL
RS1("状态") = "已执行"
RS1.MoveNext
DoEvents
If FrmSalesUDProgressBar.CmdCancelClick Then
DC.RollbackTrans
DC2.RollbackTrans
RS1.CancelBatch
RS1.Close
DC2.Close
Unload FrmSalesUDProgressBar
Exit Sub
End If
Loop
RS1.UpdateBatch
RS1.Close
DC.CommitTrans
On Error GoTo CancelUploadLine
DC2.CommitTrans
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货