我在一个程序里,需要频繁的访问本地Access数据库中的表,我是在每次访问的时候都要新建连接,打开连接,再定义数据集,访问表!如下: Set Cn = New ADODB.Connection
ConnectString = "DBQ=" + App.Path + "\table.mdb" + ";uid=;pwd=;DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
Cn.ConnectionString = ConnectString
Cn.ConnectionTimeout = 3
Cn.Open
Set Rs = New ADODB.Recordset
Rs.CursorType = adOpenStatic
Rs.LockType = adLockReadOnly
SqlString = "SELECT * FROM table1 ORDER BY datemonth,dateday"
Rs.Open SqlString, ConnectString, , , adCmdText
****************** Rs.Close
Set Rs = Nothing
Cn.Close
Set Cn = Nothing请问有必要这么做吗?这么做会不会使每次的访问时间大大增加?如果我在程序开始初始化的时候进行连接,每次访问数据表的时候只需Set Rs = New ADODB.Recordset ,要然后到程序结束的时候再去断开连接
释放 cn 可以吗?请各位有经验的高手指点!
ConnectString = "DBQ=" + App.Path + "\table.mdb" + ";uid=;pwd=;DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
Cn.ConnectionString = ConnectString
Cn.ConnectionTimeout = 3
Cn.Open
Set Rs = New ADODB.Recordset
Rs.CursorType = adOpenStatic
Rs.LockType = adLockReadOnly
SqlString = "SELECT * FROM table1 ORDER BY datemonth,dateday"
Rs.Open SqlString, ConnectString, , , adCmdText
****************** Rs.Close
Set Rs = Nothing
Cn.Close
Set Cn = Nothing请问有必要这么做吗?这么做会不会使每次的访问时间大大增加?如果我在程序开始初始化的时候进行连接,每次访问数据表的时候只需Set Rs = New ADODB.Recordset ,要然后到程序结束的时候再去断开连接
释放 cn 可以吗?请各位有经验的高手指点!
解决方案 »
- 100分,秒结贴,回答详细准确立即给满分,关于VB的exe执行环境的问题
- 数据库操作,SQL语句问题,高手达人进来帮忙,一起帮顶有分!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- 关于以wave开头的API函数使用的问题
- sql server怎么存取dwg(autocad)文件?
- 我是VB2008,如何使用picturebox剪裁图片
- 关于制作安装程序!来者有分,详细讨论者(分析问题产生的原因,解决办法)加大分!
- 菜鸟在线求助 急!!!!!!!!!!!!!!!!!
- 如何修改ACCESS数据库的密码——在线等待
- 急聘VB工程师
- 如何用sql语句实现取出前100条记录?
- 在时间段内统计问题。(俺又来了~~~~~高手!!!您老在吗?)
- printer.pagewidth在win98下怎么不起作用??
使用时:
set commandobject.activeconnection = yourconnectionobject
set recordsetobject.activeconnection = yourconnectionobject
实际上,你的代码并没有使用到你建立的连接对象。
当你使用记录集的Open方法并使用连接字符串打开此记录集的话,记录集将在其内部建立一个隐藏的连接,所以你需要把Open方法改一下。不过如果你注册到使用了微软的 MTS 或者 COM+ 的有关服务的话,这些服务将自动为你建立连接池。