目前本项目采用了三层架构开发的思路.有
1个数据库连接类(1个Dll文件,conDatabase.dll)
1个实体类(1个Dll文件),
6个数据层类(6个Dll文件),
6个业务层类(6个Dll文件)
数据库连接类conDatabase.dll 代码如下:
Option Explicit
'数据库公用连接对象
Public conLiberp As New ADODB.Connection
'local variable(s) to hold property value(s)
Private mvarconString As String 'local copy
Public Property Get conString() As String
'used when retrieving value of a property, on the right side of an assignment.
'Syntax: Debug.Print X.conString
mvarconString = "DRIVER={MySQL ODBC 3.51 Driver};" & "SERVER=192.168.112.2;" & " DATABASE=liberp;" & "UID=admin;PWD=libi; OPTION=3"
conString = mvarconString
End Property
'名 称:ConnOpen
'功 能:打开liberp数据库连接
'输入参数:无
'输出参数:无
'返 回 值:无
Public Sub ConnOpen()
conLiberp.ConnectionString = "DRIVER={MySQL ODBC 3.51 Driver};" & "SERVER=192.168.112.2;" & " DATABASE=liberp;" & "UID=admin;PWD=libi; OPTION=3"
conLiberp.Open
End Sub
'名 称:ConnClose
'功 能:关闭liberp数据库连接
'输入参数:无
'输出参数:无
'返 回 值:无
Public Sub ConnClose()
conLiberp.Close
End Sub
6个数据层类(6个dll文件)的53个类文件都有下列代码:
Private objconn As conDatabase.clsConnection
objconn.ConnOpen
导致打开了53次数据库连接对象,消耗了内存,运行速度缓慢
有什么办法能只要打开一次数据库连接就行了,
怎么解决数据库连接在多个工程dll中重用的问题
1个数据库连接类(1个Dll文件,conDatabase.dll)
1个实体类(1个Dll文件),
6个数据层类(6个Dll文件),
6个业务层类(6个Dll文件)
数据库连接类conDatabase.dll 代码如下:
Option Explicit
'数据库公用连接对象
Public conLiberp As New ADODB.Connection
'local variable(s) to hold property value(s)
Private mvarconString As String 'local copy
Public Property Get conString() As String
'used when retrieving value of a property, on the right side of an assignment.
'Syntax: Debug.Print X.conString
mvarconString = "DRIVER={MySQL ODBC 3.51 Driver};" & "SERVER=192.168.112.2;" & " DATABASE=liberp;" & "UID=admin;PWD=libi; OPTION=3"
conString = mvarconString
End Property
'名 称:ConnOpen
'功 能:打开liberp数据库连接
'输入参数:无
'输出参数:无
'返 回 值:无
Public Sub ConnOpen()
conLiberp.ConnectionString = "DRIVER={MySQL ODBC 3.51 Driver};" & "SERVER=192.168.112.2;" & " DATABASE=liberp;" & "UID=admin;PWD=libi; OPTION=3"
conLiberp.Open
End Sub
'名 称:ConnClose
'功 能:关闭liberp数据库连接
'输入参数:无
'输出参数:无
'返 回 值:无
Public Sub ConnClose()
conLiberp.Close
End Sub
6个数据层类(6个dll文件)的53个类文件都有下列代码:
Private objconn As conDatabase.clsConnection
objconn.ConnOpen
导致打开了53次数据库连接对象,消耗了内存,运行速度缓慢
有什么办法能只要打开一次数据库连接就行了,
怎么解决数据库连接在多个工程dll中重用的问题
解决方案 »
- vb中怎么比较日期的大小
- VB中使用TDBgrid 查询信息
- 要用Flex做一视频网 可不知道该怎么做积分管理 大家给点思路 散分!!!
- Listview如何查找子项
- 大家好 ,在VB引用 microsoft Internet Control API 如何调用打印当前网页呢?
- 保存对话框
- 一个小问题呀,大家来帮个忙呀
- datagrid邦定adodc时,为什么一些电脑能显示数据,而一些不行?
- 有谁做过员工培训管理信息系统啊?
- 如何得到曲目的声音频率信息
- 马季去世的这个消息还没有在网上传出,正要在八宝山火化,我同学的父亲参加了追悼会,去了很多名人,过几天就网上和新闻都会有的,我再次
- 如何去掉RM或RMVB中的广告事件?
非常严重的就是用了共用的AS.这是非常不好的习惯!
如只是一些普通的OA软件,绝对可以用集合把数据先保存用做查找.只需要添加,修改,删除才连接数据库...当然,如果针对些非要挂着连接不可的软件,可以活用RS把内存控制,进可能不要用乐观锁!直接rs.Execute(SqlString)
*****************************************************************************
欢迎使用CSDN论坛阅读器 : CSDN Reader(附全部源代码)
http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html
没用过asp 吧?
那个连接,断开 多的去了
要把一个类看作是一个数据类型,这样你才能明白我说的意思
这种做法在内存中仍然只有一个类实例,上层类中有的只是这个实例的引用
本人还使用了另外的一种使用类的机制,我的程序一般都会使用几十到上百个类,每个类的功能清楚,互相之间协作良好,使用的时候也很方便