连接数据库 如果采用的 ADO.NET 进行连接,默认情况下会有一个你看不见的 连接池 来管理这些连接,然后 你每次程序里的关闭数据库,只是把连接放回连接池,方便下次重新连接。
创新互联主营安丘网站建设的网络公司,主营网站建设方案,app软件定制开发,安丘h5微信平台小程序开发搭建,安丘网站营销推广欢迎安丘等地区企业咨询
所以不用就关,避免连接池连接数过多。
如果楼主熟悉VB6,可以直接在项目中添加ADODB的Com引用,这样你就可以像VB6那样操作数据库了!
另外
.NET Framework中连接数据库要用到ADO.NET。如果要操作Access数据库,要用到System.Data.OleDb命名空间下的许多类。
比如按楼主所说,“我想在textbox1中显示表一中【一些数据】字段下的第一个内容”:
'首先导入命名空间
Imports System.Data
Imports System.Data.OleDb
'然后在某一个事件处理程序中写:
Dim conn As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=数据库.accdb;Jet OLEDB:Database Password=MyDbPassword")
Dim command As New OleDbCommand("Select * From 数据表", conn)
conn.Open() '打开数据库连接
Dim reader As OleDbDataReader = command.ExecuteReader() '执行SQL语句,返回OleDbDataReader 对象
Do While reader.Read() '读取一条数据
textbox1.Text += reader("一些数据") VbCrLf
Loop
reader.Close() '关闭OleDbDataReader
conn.Close() '关闭连接
使用ADO控件可以方便的在VB6中访问ODBC数据库,但是通过直接放置ADODS控件来获得ADO的数据连接比较麻烦,我们可以在VB工程中创建一个公共数据模块,将ADO控件的初始化、建立连接、关闭连接等操作都写到函数中,这样就可以在工程的其他模块中共享调用这个ADO连接。
一次完整的ADO调用操作分为如下几个步骤:
打开ADO到数据库的连接,初始化ADO RECORDSET集。
通过写入SQL语句执行查询并返回查询结果RECORDSET集;或者可以通过写入SQL语句执行相应数据库操作。
释放RECORDSET集,关闭数据库连接。
需要注意的是,每个动态创建的ADO同时只能被一个过程调用,如果需要进行多表并行操作,可能需要在公共数据模块中建立多个动态ADO。
下面是相关的代码:
'-----------------------------------------------------------------
'如下代码保存在名为my.bas的工程模块中
Public CONN As Adodb.Connection '定义ADO CONNECTION对象
Public RS As Adodb.Recordset '定义ADO RECORDSET对象
'****************************
'打开数据库连接
'****************************
Function ConnOpen()
Dim ASTR As String
Set CONN = New Adodb.Connection
ASTR = GetDatabasePath 'MDB文件数据库路径
CONN.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" ASTR ";Persist Security Info=False"
'本例的ODBC连接为JET4.0的直接到MDB文件的连接,如果使用ODBC数据源可以使用如下CONNECTION串:
'Provider=MSDASQL.1;Password="";Persist Security Info=True;Data Source=数据源名称;Initial Catalog=数据表库名称
你是关闭本地的,又没有立即关闭远程Server上的,他是个pip协议对等试的连接,打个比方,两个电脑要共享一个文件夹,不能说直接用一台电脑配好就可以看吧,要设置共享协议。
这边释放关闭连接不代表就更新了另一台电脑,他还是在判断有无连接响应,这就是为什么连接多了会形成“死锁”。