代码如下:
Private Sub Form_Load()
Dim conn As New ADODB.Connection
Dim rs As New Recordset
conn.Open "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=Winnie;Data Source=192.168.18.195"
rs.Open "select userId from TSsysuser", conn
rs.MoveFirst
    Do While Not rs.EOF
    CobLoginId.AddItem rs.Fields("userId").Value
    rs.MoveNext
    Loop
    lblname.Caption = ""
rs.Close
conn.Close
End SubPrivate Sub Cobloginid_Click()
Dim conn As New ADODB.Connection
Dim rs As New Recordset
conn.Open "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=Winnie;Data Source=192.168.18.195"
rs.Open "select username from TSsysuser where userid = '" & CobLoginId.Text & "'", conn
    lblname.Caption = rs.Fields("username").Value
    LoginName = rs.Fields("username").Value
    txtPassword.SetFocus
rs.Close
rs.Open "select userid from Tssysuser where userid='" & CobLoginId.Text & "'", conn
    LoginId = rs.Fields("userid").Value
conn.Close
End Sub这里每一个事件中,是都需要conn.Open ,然后conn.close一次吗?
如果不需要这么麻烦,那应该如何修改?
谢谢各位!

解决方案 »

  1.   

    http://download.csdn.net/detail/veron_04/1371356
      

  2.   

    也可以定义一个全局的conn,程序登录时建立连接,在整个工程中调用,程序退出时关闭连接
      

  3.   

    这个还不太明白,是这样吗?
    Public conn As New ADODB.Connection
    那如何在整个工程中调用?能举个例子吗?
    我在一个事件中,如果不close,它就会提示:
    他可能已关闭或者无效!
      

  4.   

    Dim conn As New ADODB.Connection
    在模块开头定义
    在load事件中open在unload事件中close 
      

  5.   

    1 在模块中定义一个connection 
    2 在每次打开前要看看是不是已经关闭了
      

  6.   

    谢谢各位了,试了一下在模块中public定义,然后再各过程中调用,可行的!
    worldy:
    Dim conn As New ADODB.Connection
    在模块开头定义
    在load事件中open在unload事件中close 这个我也试了,学会了,谢谢!
    再问一下,是不是在一个事件中结束时,RS每次打开时,都要在事件结束或下一个打开时,关闭掉?
      

  7.   

    定义个公共函数,专门用来执行SQL语句
    Public Function ExecuteSQL(ByVal strSql As String, StrMsg As String, Optional rsReturn As Object) As Integer
        Dim conn As New ADODB.Connection
    conn.Open "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=Winnie;Data Source=192.168.18.195"
    rsReturn.Open "select userId from TSsysuser", conn
    conn.Close
    End Function