Option Explicit'工程->引用->Microsoft ActiveX Data Objects 2.0 Library (后面为版本号) Dim rs As New ADODB.RecordsetPrivate Sub Combo1_Click() if rs.State = adStateOpen then rs.close rs.Open "SELECT * FROM TABLENAME WHERE NAME = '" & txtName.Text & "'", cn, adOpenDynamic, adLockOptimistic If Not rs.EOF Then Label1.Caption = rs!ID Label2.Caption = rs!Memo End If
rs.AddNew rs!ID = "编号" rs!Memo = "备注" rs.Update End SubPrivate Sub Form_Load() cn.ConnectionString = "DSN=SCM_ACCESS;pwd=;uid=" cn.Open '查询字符串可以上这里查 'http://www.connectionstrings.com/ End SubPrivate Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) On Error Resume Next rs.Close Set rs = Nothing cn.Close Set cn = Nothing End Sub在模块中:Public cn As New ADODB.Connection
最好每次关闭引用set rs=nothing set conn=nothing 否则在客户端超过三十时服务器会变得很慢。
在模块里定义: Public CnnDB As New ADODB.Connection之后打开这个连接,然后每一个窗体都调用这个连接,不用每次都打开和关闭,到主程序退出进才关闭就行了。在引用之前判断是否建立连接就行了
最好要关上 如果你转向.net的话 如果写代吗不规范 会有很多麻烦的 经验之谈
关闭连接的时候,最好显式的先关闭: conn.Close Set conn=Nothing 因为在没有关闭连接而直接Set它为Nothing,只是清理了客户端的资源,而服务器端的资源还没有释放.
Public CnnDB As New ADODB.Connection之后打开这个连接,然后每一个窗体都调用这个连接,不用每次都打开和关闭,到主程序退出进才关闭就行了。
Dim rs As New ADODB.RecordsetPrivate Sub Combo1_Click()
if rs.State = adStateOpen then rs.close
rs.Open "SELECT * FROM TABLENAME WHERE NAME = '" & txtName.Text & "'", cn, adOpenDynamic, adLockOptimistic
If Not rs.EOF Then
Label1.Caption = rs!ID
Label2.Caption = rs!Memo
End If
rs.AddNew
rs!ID = "编号"
rs!Memo = "备注"
rs.Update
End SubPrivate Sub Form_Load()
cn.ConnectionString = "DSN=SCM_ACCESS;pwd=;uid="
cn.Open
'查询字符串可以上这里查
'http://www.connectionstrings.com/
End SubPrivate Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
On Error Resume Next
rs.Close
Set rs = Nothing
cn.Close
Set cn = Nothing
End Sub在模块中:Public cn As New ADODB.Connection
set conn=nothing
否则在客户端超过三十时服务器会变得很慢。
Public CnnDB As New ADODB.Connection之后打开这个连接,然后每一个窗体都调用这个连接,不用每次都打开和关闭,到主程序退出进才关闭就行了。在引用之前判断是否建立连接就行了
经验之谈
conn.Close
Set conn=Nothing
因为在没有关闭连接而直接Set它为Nothing,只是清理了客户端的资源,而服务器端的资源还没有释放.