Страница: 1 |
Страница: 1 |
Вопрос: SQLAllocHandle
Добавлено: 26.07.05 18:07
Автор вопроса:
Hunter2003 | ICQ: 287314254
Народ, кто знает как юзать функцию SQLAllocHandle из ODBC32.dll? И подскажите как через API можно получить список Data Sources в системе.
Ответы
Всего ответов: 2
Номер ответа: 1
Автор ответа:
.:: St!X ::.
![]()
![]()
![]()
![]()
![]()
ICQ: 339888425
Вопросов: 13
Ответов: 51
Web-сайт:
Профиль | | #1
Добавлено: 27.07.05 13:54
как функцию юзать не знаю... а вот код могу дать.
Option Explicit
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
Номер ответа: 2
Автор ответа:
Hunter2003
![]()
![]()
![]()
![]()
![]()
![]()
![]()
ICQ: 287314254
Вопросов: 14
Ответов: 72
Профиль | | #2
Добавлено: 27.07.05 16:04
Спасибо