Login | Register   
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


Tip of the Day
Language: VB6
Expertise: Intermediate
Dec 26, 2001

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