ADO把表中的所有记录都更新了
编号:QA002699
建立日期: 2000年3月11日 最后修改日期:2000年3月11日
所属类别:
黄:
操作系统: Windows
编程工具: VC++
问题: ADO在ASP和VB下效果很好,但当我在VC下用时发现问题多多。如
我用recordset的open执行一条Select v1,v2 from MyTable where v2='var'
然后改写v2,v1的值update这个recordset,发现它把表中所有记录都更新了。但如果我把recordset的open 的SQL 语句改为
Select * from MyTable where v2='var'
然后改写v2,v1的值update这个recordset,则操作正确。
我想问在VC中调用数据库最好用什么方法?直接调用OLE DB好么?哪里有较详细的资料、例程?谢谢!
回答:
我遇到过同样的问题,在使用ado的recordset时,select字段列表中只要有一个数据唯一的字段就不会出现把表中所有记录都更新的情况。在VC中调用数据库,如果是本地化的应用程序还是DAO比较好用,不过微软已经将ADO作为
它的数据存取API的未来选择,开发新的应用程序最好还是用ADO。
直接调用OLE DB降低了和数据提供者相通讯的系统求,可以提高性能。以下是关于OLE DB的网址:
http://www.microsoft.com/data/oledb 包含最新的OLE OB的信息及技术文档
http://www.microsoft.com/oledev OLE开发信息网址
http://microsoft.public.oledb 通用OLE DB信息
http://microsoft.public.oledb.specification 关于OLE DB规范的信息
此问题由Mars回答。
| |
|
|
| |
|
|