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 StringPublic Property Let ADOConnectString(ByVal vData As String)    mvarADOConnectString = vDataEnd PropertyPublic Property Get ADOConnectString() As String    ADOConnectString = mvarADOConnectStringEnd PropertyPublic 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 FunctionErr_CreateUDL:    CreateUDL = FalseEnd FunctionPublic 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 FunctionErr_OpenUDL:    OpenUDL = FalseEnd FunctionPublic 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 #intFileNumEnd SubPublic 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 IfEnd 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 WithEnd SubPrivate 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 WithEnd SubPrivate 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 WithEnd 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(withGUI, COM+ and Unlimited Hierarchical support) in minutes. Learn more at http://www.shoutsoft.com ##########################################################################

Share the Post:
Share on facebook
Share on twitter
Share on linkedin

Overview

The Latest

technology leadership

Why the World Needs More Technology Leadership

As a fact, technology has touched every single aspect of our lives. And there are some technology giants in today’s world which have been frequently opined to have a strong influence on recent overall technological influence. Moreover, those tech giants have popular technology leaders leading the companies toward achieving greatness.

iOS app development

The Future of iOS App Development: Trends to Watch

When it launched in 2008, the Apple App Store only had 500 apps available. By the first quarter of 2022, the store had about 2.18 million iOS-exclusive apps. Average monthly app releases for the platform reached 34,000 in the first half of 2022, indicating rapid growth in iOS app development.

microsoft careers

Top Careers at Microsoft

Microsoft has gained its position as one of the top companies in the world, and Microsoft careers are flourishing. This multinational company is efficiently developing popular software and computers with other consumer electronics. It is a dream come true for so many people to acquire a high paid, high-prestige job