Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

这样的“删除记录”代码运行机制是怎样的呢?谢谢

123xiaoniu  发表于:2011-06-04 09:53:42  
复制

第一种机制

教材上删除一条记录总是要先定义ADO的链接对象,然后进行运作,如:要写这样的代码

Dim Rs As ADODB.Recordset
Set Rs = New ADODB.Recordset

Rs.Open STemp, CurrentProject.Connection, adOpenKeyset, adLockOptimistic

第二种机制

但我看有的删除记录方法却是不用定义任何ADO的,没有任何链接的 如

sql = "Delete * FROM 员工资料表 where [员工编号]='" & Me.[员工编号] & "'"

CurrentDb.Execute sql

 

请问第二种代码为何不定义ADO的链接对象也能操作表记录呢?

这两种机制运行过程是怎样的?

谢谢!

 

Top
丘山 发表于:2011-06-04 12:48:28

currentdb 代表当前数据库(工作空间),是dao模型中的全局对象

两者采用的对象模型不一样

 

详细请看http://wenku.baidu.com/view/9ec030170b4e767f5acfce8b.html



zhcosin 发表于:2011-06-04 21:33:03

第一种方案使用ADO访问数据库,第二种方案使用关系数据库的标准语言SQL直接访问数据库。

哪种方案好呢,这需要深入学习过SQL和ADO的人才能明白,简单的说,SQL语言是非过程化语言,一次一集合的方式对于数据库的大部分操作都是方便的,但其非过程化的特点也造成了缺乏流程控制的缺陷,当然有Transact—SQL的改进,ADO是微软为了方便数据库编程开发的一种技术。



总记录:2篇  页次:1/1 9 1 :