CodeGuru Home VC++ / MFC / C++ .NET / C# Visual Basic VB Forums Developer.com
Results 1 to 2 of 2
  1. #1
    Join Date
    Apr 2001
    Location
    California
    Posts
    20

    Getting System Info

    Can anyone tell me the code needed from VB6 to access and bring back the windows installed OBDC Drivers ??
    Thanks


  2. #2
    Join Date
    May 2000
    Location
    New York, NY, USA
    Posts
    2,878

    Re: Getting System Info

    'That is John Pirkey's code. All credits are his.


    Private Declare Function SQLDataSources Lib "ODBC32.DLL" (ByVal henv&, ByVal fDirection%, ByVal szDSN$, ByVal cbDSNMax%, pcbDSN%, ByVal szDescription$, ByVal cbDescriptionMax%, pcbDescription%) As Integer

    Private Declare Function SQLAllocEnv% Lib "ODBC32.DLL" (env&)

    Const SQL_SUCCESS As Long = 0
    Const SQL_FETCH_NEXT As Long = 1

    Sub GetDSNsAndDrivers()
    Dim i As Integer
    Dim sDSNItem As String * 1024
    Dim sDRVItem As String * 1024
    Dim sDSN As String
    Dim sDRV As String
    Dim iDSNLen As Integer
    Dim iDRVLen As Integer
    Dim lHenv As Long 'handle to the environment

    On Error Resume Next
    lstDSN.AddItem "(None)"

    'get the DSNs
    If SQLAllocEnv(lHenv) <> -1 Then
    Do Until i <> SQL_SUCCESS
    sDSNItem = Space$(1024)
    sDRVItem = Space$(1024)
    i = SQLDataSources(lHenv, SQL_FETCH_NEXT, sDSNItem, 1024, iDSNLen, sDRVItem, 1024, iDRVLen)
    sDSN = Left$(sDSNItem, iDSNLen)
    sDRV = Left$(sDRVItem, iDRVLen)

    If sDSN <> Space(iDSNLen) Then
    lstDSN.AddItem sDSN
    lstDrivers.AddItem sDRV '---optional - driver value returned
    End If
    Loop
    End If
    'remove the dups
    If lstDSN.ListCount > 0 Then
    With lstDrivers
    If .ListCount > 1 Then
    i = 0
    While i < .ListCount
    If .List(i) = .List(i + 1) Then
    .RemoveItem (i)
    Else
    i = i + 1
    End If
    Wend
    End If
    End With
    End If
    lstDSN.ListIndex = 0
    End Sub




    Private Sub Form_Load()
    GetDSNsAndDrivers
    On Error Resume Next
    lstDSN.ListIndex = 0
    lstDrivers.ListIndex = 0

    End Sub


    Iouri Boutchkine
    [email protected]
    Iouri Boutchkine
    [email protected]

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  





Click Here to Expand Forum to Full Width

Featured