我正在使用ADODB
更新mysql中的表我在表格中添加新条目 我应该使用addnew还是更新?
答案 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完成。