Dim conn As ADODB.Connection
    Dim cmd As ADODB.Command
    Dim constr As String
    Dim rs As ADODB.Recordset
    '创建数据库对象
    Set conn = New ADODB.Connection
    Set cmd = New ADODB.Command
    Set rs = New ADODB.Recordset
    
    '配置连接参数
    constr = "Provider=SQLOLEDB.1;Persist Security Info=True;Password=sa;User ID=sa;" & _
             "Initial Catalog=VB6.0通用进销存管理系统;Data Source=KNIGHTRCOM"
    conn.connectionString = constr
    
    '打开连接
    Call conn.Open
    Dim sqlQuery As String
    sqlQuery = "SELECT * FROM 用户信息 WHERE 登录ID=?"
    '指派连接对象实例
    cmd.ActiveConnection = conn
    
    cmd.CommandType = adCmdText
    cmd.CommandText = sqlQuery
    
    Dim param As ADODB.Parameter
    Set param = New ADODB.Parameter
    param.Name = "登录ID"
    param.Type = adVarChar
    param.value = "Admin"
    param.size = 100
    cmd.Parameters.Append param
    
    
    Set rs = cmd.Execute(flag)
    Debug.Print CStr(flag) + Chr(10)
    Exit Sub

解决方案 »

  1.   

    SELECT是有结果的,可flag总是 -1
      

  2.   

    '在Command执行前,先将RS游标改为客户端:
    rs.CursorLocation=adUseClient
      

  3.   

    '配置连接参数
        constr = "Provider=SQLOLEDB.1;Persist Security Info=True;Password=sa;User ID=sa;" & _
                 "Initial Catalog=VB6.0通用进销存管理系统;Data Source=KNIGHTRCOM"
        conn.connectionString = constr
        cnn.CursorLocation=adUseClient'----------------------------------->在这里指定再试试
        '打开连接
        Call conn.Open
      

  4.   

    faysky2() 谢谢你了不知道你试过没有,我这里还是不好用,我觉得好象没问题啊,我照着AOD2.1那个手册抄下来也跑不对,不知道为什么,忽悠我???
      

  5.   

    是要取记录集吗?
    Rs,open StrSQl,PubConn,1,1
    Rs!Field就好了
    省事简单明了
      

  6.   

    我就是想用Command的参数替换功能 "登录ID=?"