高分求教:我想用vb作一个类似于vb.net中oledbdataadapter功能的ocx控件,在客户端用向导的方式帮助用户选择并连接数据源和数据库、选择数据表,并自动生成sql语句。急!急!急!

解决方案 »

  1.   

    引用OLE DB services component 1.0 type和ADO
    Option Explicit
    Dim adoConn As ADODB.Connection
    Private Function BuildAdoConnection(ByVal ConnectionString As String) As String    ' display the ADO Connection Window (ADO DB Designer)    Dim dlViewConnection As MSDASC.DataLinks    On Error GoTo Err_BuildAdoConnection
        
        
        If Not (Trim$(ConnectionString) = "") Then
            Set adoConn = New ADODB.Connection
            adoConn.ConnectionString = ConnectionString
            Set dlViewConnection = New MSDASC.DataLinks
            dlViewConnection.hWnd = Me.hWnd
                If dlViewConnection.PromptEdit(adoConn) Then
                    BuildAdoConnection = adoConn.ConnectionString
                Else
                    BuildAdoConnection = ConnectionString
                End If
            Set dlViewConnection = Nothing
            Set adoConn = Nothing
        Else
            Set dlViewConnection = New MSDASC.DataLinks
            dlViewConnection.hWnd = Me.hWnd
            Set adoConn = dlViewConnection.PromptNew
            BuildAdoConnection = adoConn.ConnectionString
            Set dlViewConnection = Nothing
            Set adoConn = Nothing
        End IfExit_BuildAdoConnection:    On Error Resume Next
            If Not (adoConn Is Nothing) Then
                Set adoConn = Nothing
            End If
            If Not (dlViewConnection Is Nothing) Then
                Set dlViewConnection = Nothing
            End If
        On Error GoTo 0
        Exit FunctionErr_BuildAdoConnection:    Select Case Err
            Case 0
                Resume Next
            Case -2147217805
                adoConn.ConnectionString = ""
                Resume
            Case 91
                Resume Exit_BuildAdoConnection
            Case Else
                MsgBox "Error: " & Err.Number & vbCrLf & vbCrLf & Err.Description, vbInformation, App.Title & "  -  Advisory"
                Resume Exit_BuildAdoConnection
        End Select
       
    End Function
    Private Sub Command1_Click()
        Set adoConn = New ADODB.Connection
        Dim strAdoConn As String
        strAdoConn = BuildAdoConnection("")  'strAdoConn 为连接字符串
        MsgBox strAdoConn
    End Sub
      

  2.   

    谢谢lxcc,但这部分代码只是解决数据库的连接,而不能继续以向导式对多个数据表查询并自动生成查询语句。请各位高手再想想办法吧!!
      

  3.   

    自己作SQL企业管理器的视图功能?
    麻烦!如果只是要作简单的内外join的话,应该不会太难!
    从sysobjects里面读表内字段等等!
      

  4.   

    ===========================================================
    谢谢lxcc,但这部分代码只是解决数据库的连接,而不能继续以向导式对多个数据表查询并自动生成查询语句。请各位高手再想想办法吧!!
    ===========================================================这个比较麻烦,你可以参考ACCESS中是怎么做的。