Outlook VBA - 无法更新数据库

时间:2015-08-31 18:10:37

标签: vba oracle11g outlook-vba adodb recordset

我在更新数据库时遇到问题。我正在使用ADODB记录集。它给了我这个错误: BOF或EOF是True,或者当前记录已被删除。请求的操作需要当前记录。 但是,当我获得变量状态时,查询确实产生结果。但是,当我到达.Fields行时,它会出错。

newVal= "new value"
sql = "select STATUS FROM NEW_TABLE where ID = '2'"

With rs
    .Open sql, dbs, adOpenStatic, adLockOptimistic
    status = rs.GetString
    .Fields("STATUS").Value = newVal
    .Update
    .Close

End With

cnn.Close

1 个答案:

答案 0 :(得分:0)

根据您的评论,请考虑在ADODB连接上使用操作追加查询。无需打开记录集。 ADODB Update实际上保存了对记录的删除,插入和更新的更改。

APPEND QUERY

newVal= "new value"
sql = "INSERT INTO NEW_TABLE (ID, Status) VALUES ('2', '" & newValue & "')"
dbs.Execute sql

更新查询

newVal= "new value"
sql = "UPDATE NEW_TABLE SET Status = '" & newValue & "' WHERE ID='2'"
dbs.Execute sql