【发布时间】:2014-10-23 08:47:43
【问题描述】:
我要做的是通过 SQL 查询从在线服务器获取一些数据,然后循环通过记录集修改记录。
尝试修改记录集时出现错误:
“多步操作产生错误。检查每个状态值。”
我的问题是:有没有办法修改我从查询中获得的记录集中的记录?
在这种情况下,如果字段 1 满足特定条件,我将修改字段 2。 (在这种情况下,字段 2 是一个字符串)
这里是简化的代码:
Dim adoConn As ADODB.Connection
Dim locRS As New ADODB.Recordset, proRS As ADODB.Recordset
Dim strConnection As String
Set getSQL = New ADODB.Recordset
'Set Objects
Set adoConn = New ADODB.Connection
'Specify connection string
strConnection = "User ID=xxx; Password=xxx;Data Source=xxx;Provider=OraOLEDB.Oracle"
'Open the connection
adoConn.Open (strConnection)
'Set up recordset properties
getSQL.CursorType = adOpenStatic
getSQL.CursorLocation = adUseClient
getSQL.LockType = adLockBatchOptimistic
'Import the data
getSQL.Open "SELECT FIELD1, FIELD2 FROM TABLE", adoConn, adOpenStatic, adLockOptimistic
Set getSQL.ActiveConnection = Nothing
getSql.Update
'Loop through data
getSQL.MoveFirst
Do While Not stockRS.EOF
'If cetrain condition is met then modify the null column
if getSQL!FIELD1=CRITERIA then
'Error here
getSQL!FIELD2="SOME STRING"
End If
getSQL.MoveNext
Loop
'Close
adoConn.Close
Set adoConn = Nothing
【问题讨论】: