dcsimg
Login | Register   
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX

By submitting your information, you agree that devx.com may send you DevX offers via email, phone and text message, as well as email offers about other products and services that DevX believes may be of interest to you. DevX will process your information in accordance with the Quinstreet Privacy Policy.


Tip of the Day
Language: VB6
Expertise: Intermediate
Jul 11, 2001

WEBINAR:

On-Demand

Application Security Testing: An Integral Part of DevOps


Read and Write UDL files

Universal Data link files are handy for select data sources but there isn't a way to create/edit this files. This little class shows how to read/write a UDL file.

'-----------------------
' The cUDL Class
'-----------------------

'please visit www.shoutsoft.com for Tools building VB database application.
Private Const CON_UDL_LINE1 = "[oledb]"
Private Const CON_UDL_LINE2 = "; Everything after this line is an OLE DB " _
    & "initstring"
Private mvarADOConnectString As String

Public Property Let ADOConnectString(ByVal vData As String)
    mvarADOConnectString = vData
End Property

Public Property Get ADOConnectString() As String
    ADOConnectString = mvarADOConnectString
End Property

Public Function CreateUDL() As Boolean
    On Error GoTo Err_CreateUDL
    Dim pDataLink As New DataLinks, pConn As Connection
    
    Set pConn = pDataLink.PromptNew
    pConn.Open
    mvarADOConnectString = pConn.ConnectionString
    pConn.Close
    
    CreateUDL = True
    Exit Function
Err_CreateUDL:
    CreateUDL = False
End Function

Public Function OpenUDL(Optional ByVal strConnectString As String) As Boolean
    On Error GoTo Err_OpenUDL
    Dim pDataLink As New DataLinks, pConn As New Connection
    If mvarADOConnectString = vbNullString Then
        OpenUDL = CreateUDL
        Exit Function
    Else
        pConn.ConnectionString = mvarADOConnectString
        If pDataLink.PromptEdit(pConn) Then
            pConn.Open
            mvarADOConnectString = pConn.ConnectionString
            pConn.Close
        End If
    End If
    OpenUDL = True
    Exit Function
Err_OpenUDL:
    OpenUDL = False
End Function

Public Sub SaveToFile(ByVal strUDLFile As String)
    Dim strBuf As String, intFileNum As Integer
    
    strBuf = CON_UDL_LINE1 & vbCrLf & CON_UDL_LINE2 & vbCrLf & _
        mvarADOConnectString
    strBuf = StrConv(strBuf, vbUnicode)
    intFileNum = FreeFile
    If Dir(strUDLFile) <> vbNullString Then Kill strUDLFile
    Open strUDLFile For Binary As #intFileNum
    Put #intFileNum, , strBuf
    Close #intFileNum
End Sub

Public Function LoadFromFile(ByVal strUDLFile As String) As Boolean
    Dim intFileNum As Integer, strBuf As String, i As Integer
    intFileNum = FreeFile
    Open strUDLFile For Binary As #intFileNum
    strBuf = Input(LOF(intFileNum), #intFileNum)
    Close #intFileNum
    strBuf = StrConv(strBuf, vbFromUnicode)
    i = InStr(strBuf, "Provider=")
    If i > 0 Then
        mvarADOConnectString = Mid(strBuf, i)
        LoadFromFile = True
    Else
        LoadFromFile = False
    End If
End Function
To test the cUDL class, create a form and add three buttons on it (named cmdLoad, cmdSave, and cmdCreate) and a CommonDialog control (named dlgCommonDialog), then add this code:

Private Sub cmdLoad_Click()
    Dim m_udl As New cUDL, m_FileName As String
    
    With dlgCommonDialog
        .DialogTitle = "Open"
        .CancelError = False
        .Flags = cdlOFNHideReadOnly
        .FileName = vbNullString
        'ToDo: set the flags and attributes of the common dialog control
        .Filter = "Microsoft data link files (*.udl)|*.udl"
        .ShowOpen
        m_FileName = .FileName
        If m_FileName = vbNullString Then Exit Sub
    End With
    
    With m_udl
        .LoadFromFile m_FileName
        .OpenUDL
    End With
End Sub

Private Sub cmdNew_Click()
    Dim m_udl As New cUDL, m_FileName As String
    
    With dlgCommonDialog
        .DialogTitle = "Save"
        .CancelError = False
        .Flags = cdlOFNOverwritePrompt
        'ToDo: set the flags and attributes of the common dialog control
        .Filter = "Microsoft data link files (*.udl)|*.udl"
        .FileName = vbNullString
        .ShowSave
        m_FileName = .FileName
        If m_FileName = vbNullString Then Exit Sub
    End With
    
    With m_udl
        If .CreateUDL Then .SaveToFile m_FileName
    End With
End Sub

Private Sub cmdSave_Click()
    Dim m_udl As New cUDL, m_FileName As String
    
    With dlgCommonDialog
        .DialogTitle = "Save"
        .CancelError = False
        .Flags = cdlOFNOverwritePrompt
        'ToDo: set the flags and attributes of the common dialog control
        .Filter = "Microsoft data link files (*.udl)|*.udl"
        .FileName = vbNullString
        .ShowSave
        m_FileName = .FileName
        If m_FileName = vbNullString Then Exit Sub
    End With
    
    With m_udl
        If .OpenUDL Then .SaveToFile m_FileName
    End With
End Sub
##########################################################################

This tip has been brought to you by Shoutsoft, Inc, the creators of COM Express, a tool which generates serious N(3)-tier VB application(with GUI, COM+ and Unlimited Hierarchical support) in minutes. Learn more at http://www.shoutsoft.com ##########################################################################

Gordon Gong
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap
Thanks for your registration, follow us on our social networks to keep up-to-date