我这样连接数据库:÷
DIM CNN AS new adodc.connect
dim rs as new adodc.recordsetCNN.open"" '数据库连接dim i as integerfor i = 1 to 100
if rs.state = 1 then
rs.close
end if
rs.open"select * from table",CNN
next这样每次rs.open"select * from table",CNN 就会在数据库中连接一次。我听说连接池可以解决,请告诉我怎么建立连接池,怎么使用??
DIM CNN AS new adodc.connect
dim rs as new adodc.recordsetCNN.open"" '数据库连接dim i as integerfor i = 1 to 100
if rs.state = 1 then
rs.close
end if
rs.open"select * from table",CNN
next这样每次rs.open"select * from table",CNN 就会在数据库中连接一次。我听说连接池可以解决,请告诉我怎么建立连接池,怎么使用??
解决方案 »
- 求助vb高手:帮我解释一个用vb做的一个简单系统
- 我搞不清select case语句可以怎样嵌套
- faysky2() 老兄,还得麻烦你一下呀
- 关于MSChart控件的图表打印问题???
- Word文档拆分程序
- 控件的内存溢出问题
- 谁有兴趣写一个“CSDN 论坛”浏览器?先提一个问题(见内)。
- 大虾们:急!比如说notepad.exe是用vb做的,运行notepad.exe a.txt,当打开notepad时,怎么得到a.txt这个参数呢?再给20分
- 一个问题:如何在VB中更改输入法?
- VB 发送鼠标单击消息给picture 控件不响应单击事件
- 如何删除引用(reference)
- 怎样用vb依次读取一个文件夹中若干个不知道名字的指定格式的文件(这里以Excel表格为例)?
我是这样做呀,但不是连接池,每次SELECT时就会在数据库中产生一个CONNECT的记录。如果数据库的用户的最大个数设置为10,那么10个SELECT以后数据库就死掉了!!
另外不要用rs执行open的方式来运行sql语句。
用executeSql 来执行
没有必要呀
另外也不是重新连接数据库了.
CONNECTION对象才是连接数据库
public cnn as adodb.connection
Sub main()
On Error GoTo E
Set Cnn = New ADODB.Connection
With Cnn
.CommandTimeout = 15
.ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=DataBaseName;Data Source=服务器名称"
.CursorLocation = adUseClient
.Open
End With
frm.Show
Exit Sub
E:
MsgBox Err.Description
End Sub
ConnectionString 是连接的字符串
to eports(飘零风) :
我是这样做呀,但不是连接池,每次SELECT时就会在数据库中产生一个CONNECT的记录。如果数据库的用户的最大个数设置为10,那么10个SELECT以后数据库就死掉了!!
-----------------------------------------------------------------------------
重新看了一下你的问题,不知道这次理解对了没有:你要用同一个连接(CNN),然后要同时打开(不关闭)10个以上的Recordset。是这个意思吗?要是这样的话,嗯,俺就搬根凳子等高手了。
set cnn=noting
set rs=noting
就是每次都先设定cnn和rs 等于什么都没有 然后在连接数据库 -> 关闭数据库 这样程序每次开始都设定连接为空 再执行连接 应该就不会有问题了 至于数据池 我也是初学者不会那个东东 嘿嘿
希望可以帮到你