ADODB:ADDNEW和UPDATE方法之间的区别?

时间:2010-05-13 03:03:17

标签: sql mysql excel vba

我正在使用ADODB

更新mysql中的表

我在表格中添加新条目 我应该使用addnew还是更新?

2 个答案:

答案 0 :(得分:6)

没有区别,您将始终使用.Update提交当前光标所指向的更改。 AddNew在ADODB记录集的末尾分配新行

ADODB记录集是一个基于游标的数据集,当你将行加载到记录集中时,光标自动在第一行,所以你在记录集的列上做的任何事情,它都会修改记录集光标当前指向的位置。例如:

dim rs as new adodb.recordset
rs.Open _
    " select emp_id, lastname, firstname, middlename, age from emp " & _
    " where location = 'LIVERPOOL'" & _
    " ORDER BY emp_id", connectionVariableHere

这将更新第一行:

rs!middlename = "Ono"
rs.Update

这将更新下一行:

rs.MoveNext
rs!middlename = "Eastman"
rs.Update

添加记录(光标将移至上一记录)

rs.AddNew
rs!lastname = "Ono"
rs!firstname = "Yoko"
rs!middlename = "Yasuda"
rs.Update

执行上述步骤后,这将更新上次添加的记录:

rs!lastname = "Lennon"
rs.Update

如果我没记错的话,MoveNext,MoveFirst等会在移动到新光标位置之前隐式调用.Update,所以如果你在第一行......

rs.MoveFirst

...然后你这样做:

rs!age = 70 ' lennon's age of 2010
rs.MoveNext

......在转会Paul McCartney之前,他会打电话给.Update。无论如何,不​​要依赖它,只要在行上提交更改时调用.Update

答案 1 :(得分:2)

编辑现有记录:。编辑开始,。更新完成。

创建新记录:.AddNew开始,.Update完成。