dcsimg
LinkedIn
Google+
Twitter
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
Dec 26, 2001

WEBINAR:

On-Demand

Building the Right Environment to Support AI, Machine Learning and Deep Learning


CUDL - A class to create UDL files

' A class that creates UDL files for use as ADO Data Sources.

' Universal Data link files are handy for select data sources but there
' are lack of a way to create/edit this files. The little program i
' attached teaches how to read/write a UDL file.

' IMPORTANT: requires that you add a reference to the following library:
'    Microsoft OLE DB Service Component 1.0 Type Llibrary 
' in the oledb32.dll file

' Usage example:
'     ' To create a new UDL file.
'     Dim udl As New cUdl
'     If udl.CreateUDL Then udl.SaveToFile "c:\yourfile.udl"

'     ' To open and edit an existing UDL file
'     Dim udl As New cUdl
'     udl.LoadFromFile "c:\yourfile.udl"
'     udl.OpenUDL


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

'##############################################
'# 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