这两种方法各有优缺点
前者显示建立了conn对象和rs对象,这需要消耗比后者多的时间,因为后者的rs对象是conn.execute后隐式建立的
而后者的缺点在于,隐式生成的rs对象只能是adOpenForwardOnly(0)和adLockReadOnly (1)的,也就是说,无法向前移动记录集并且也不能更新记录集。这样的好处是比较省资源,但是如果需要修改记录集的话就不得不再执行一次sql语句的update命令,这样很不划算。
不过,如果你仅仅是需要把记录读出并且显示在屏幕上,那么后者应该会更好一些,因为前者的游标状态你设成了1,也就是adOpenKeyset,这个状态的事务级别很好具体的我记不清楚了不过应该是可以实现诸如“别的用户修改了某个值以后你可以马上在你的记录集里看到这个更新”之类的功能,所以相对耗费的资源也比较大。
其实还有一种方法
Set rscustomerslist = Server.CreateObject("ADODB.RecordSet")
rscustomerslist.open "select * from","filedsn=accessdatabase.dsn" '这里还可以跟上游标状态的参数,默认的和第二种方法一样
这种方法对于单次的连接应该说是最省的,但是其缺点是无法利用connection和数据库之间的连接池来加速程序的执行,因为这个需要用conn对象显示地建立连接。
如果还有什么不清楚的,可以查看一下
msdn.microsoft.com/library/default.asp?url=/library/en-us/ado270/htm/dasdkadooverview.asp?frame=true