我有2个BUTTON都要对数据库进行操作。我为每个BUTTON的CLICK事件都写了连接和操作数据库语句。    
    Dim conn As ADODB.Connection
    Dim rs As ADODB.Recordset
    Set conn = New ADODB.Connection
    Set rs = New ADODB.Recordset
    conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\1.db;Persist Security Info=False"
    conn.ConnectionTimeout = 30
    conn.Open
    sql = "delete * from t1 where id <100 "
    rs.Open sql, conn, adOpenStatic, adLockReadOnly, adCmdText
    conn.Close有没有方法建可以立一个公共的连接。每个BUTTON只需写:
    sql = "delete * from t1 where id <100 "
    rs.Open sql, conn, adOpenStatic, adLockReadOnly, adCmdText
就可以操作数据库???????

解决方案 »

  1.   

    共有的部分独立出来。把cnn定义成模块级以上的变量。并在适当的地方实例化和初始化。然后就可以使用了,在退出程序时,释放对象。例如在模块里定义Public cnn as new adodb.connection
    启动程序时,打开连接然后整个程序就可以使用这一个连接了。退出时再关闭cnn
      

  2.   

    '//在Modular里定义   
     public conn As ADODB.Connection
    '//在程序启动时初始化,如在Sub Main里,或者程序登陆框的Load事件里,或者别的程序刚开始的地方都可以初始化
        Set conn = New ADODB.Connection
        conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\1.db;Persist Security Info=False"
        conn.ConnectionTimeout = 30
        conn.Open
    '//在过程里写如下的部分
        Dim rs As ADODB.Recordset
        Set rs = New ADODB.Recordset
        sql = "delete * from t1 where id <100 "
        rs.Open sql, conn, adOpenStatic, adLockReadOnly, adCmdText
        '//对rs进行操作
        '//rs 不再使用的时候
        rs.close
        set rs=nothing'//在程序退出时
    conn.close
    set conn=nothing