You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
110 lines
5.1 KiB
110 lines
5.1 KiB
Attribute VB_Name = "ODBCAPI"
|
|
Option Explicit
|
|
|
|
Public Declare Function SQLAllocHandle Lib "odbc32.dll" (ByVal iHandleType As Integer, ByVal lInputHandle As Long, lOutputHandlePtr As Long) As Integer
|
|
Public Declare Function SQLFreeHandle Lib "odbc32.dll" (ByVal iHandleType As Integer, ByVal lHandle As Long) As Integer
|
|
|
|
Public Declare Function SQLDriverConnect Lib "odbc32.dll" (ByVal hConnection As Long, ByVal hWnd As Long, ByVal sInConnectionString As String, ByVal iStringLength1 As Integer, ByVal sOutConnectionString As String, ByVal iBufferLength As Integer, iStringLength2Ptr As Integer, ByVal iDriverCompletion As Integer) As Integer
|
|
Public Declare Function SQLDisconnect Lib "odbc32.dll" (ByVal hdbc As Long) As Integer
|
|
|
|
Public Declare Function SQLSetEnvAttr Lib "odbc32.dll" (ByVal hEnv As Long, ByVal lAttribute As Long, ByVal sValuePtr As String, ByVal lStringLength As Long) As Integer
|
|
Public Declare Function SQLSetEnvAttrLong Lib "odbc32.dll" Alias "SQLSetEnvAttr" (ByVal hEnv As Long, ByVal lAttribute As Long, ByVal lValue As Long, ByVal lStringLength As Long) As Integer
|
|
Public Declare Function SQLExecDirect Lib "odbc32.dll" (ByVal hstmt As Long, ByVal szSqlStr As String, ByVal cbSqlStr As Long) As Integer
|
|
Public Declare Function SQLEndTran Lib "odbc32.dll" (ByVal iHandleType As Integer, ByVal hConnection As Long, ByVal iCompletionType As Integer) As Integer
|
|
Public Declare Function SQLFetch Lib "odbc32.dll" (ByVal hstmt As Long) As Integer
|
|
Public Declare Function SQLFetchScroll Lib "odbc32.dll" (ByVal hStatement As Long, ByVal iFetchOrientation As Integer, ByVal FetchOffset As Long) As Integer
|
|
Public Declare Function SQLSetStmtAttrLong Lib "odbc32.dll" Alias "SQLSetStmtAttr" (ByVal hStatement As Long, ByVal lAttribute As Long, ByVal lValue As Long, ByVal lStringLength As Long) As Integer
|
|
Public Declare Function SQLCloseCursor Lib "odbc32.dll" (ByVal hStatement As Long) As Integer
|
|
Public Declare Function SQLGetDataLong Lib "odbc32.dll" Alias "SQLGetData" (ByVal hStatement As Long, ByVal iColumn As Integer, ByVal iTargetType As Integer, lValue As Long, ByVal lValueLength As Long, lActualLen As Long) As Integer
|
|
Public Declare Function SQLGetDiagRec Lib "odbc32.dll" (ByVal iHandleType As Integer, ByVal hHandle As Long, ByVal iRecNumber As Integer, ByVal sSQLState As String, lNativeErrorPtr As Long, ByVal sMessageText As String, ByVal iBufferLength As Integer, iTextLengthPtr As Integer) As Integer
|
|
|
|
' Options for SQLAllocHandle
|
|
Public Const SQL_HANDLE_ENV = 1
|
|
Public Const SQL_HANDLE_DBC = 2
|
|
Public Const SQL_HANDLE_STMT = 3
|
|
Public Const SQL_HANDLE_DESC = 4
|
|
Public Const SQL_NULL_HANDLE = 0&
|
|
|
|
Public Const SQL_ATTR_ODBC_VERSION = 200
|
|
Public Const SQL_OV_ODBC3 = 3&
|
|
|
|
' Options for SQLDriverConnect
|
|
Public Const SQL_DRIVER_NOPROMPT As Long = 0
|
|
Public Const SQL_DRIVER_COMPLETE As Long = 1
|
|
Public Const SQL_DRIVER_PROMPT As Long = 2
|
|
Public Const SQL_DRIVER_COMPLETE_REQUIRED As Long = 3
|
|
|
|
' Options for SQLEndTran
|
|
Public Const SQL_COMMIT = 0
|
|
Public Const SQL_ROLLBACK = 1
|
|
|
|
' Options for SQLFetchScroll
|
|
Public Const SQL_FETCH_NEXT = 1
|
|
Public Const SQL_FETCH_FIRST = 2
|
|
Public Const SQL_FETCH_LAST = 3
|
|
Public Const SQL_FETCH_PRIOR = 4
|
|
Public Const SQL_FETCH_ABSOLUTE = 5
|
|
Public Const SQL_FETCH_RELATIVE = 6
|
|
|
|
' RETCODEs
|
|
Public Const SQL_SUCCESS As Long = 0
|
|
Public Const SQL_SUCCESS_WITH_INFO As Long = 1
|
|
Public Const SQL_ERROR As Long = -1
|
|
Public Const SQL_INVALID_HANDLE As Long = -2
|
|
Public Const SQL_NO_DATA As Long = 100
|
|
|
|
' Statement attributes
|
|
Public Const SQL_ATTR_CURSOR_SCROLLABLE = -1
|
|
Public Const SQL_ATTR_CURSOR_SENSITIVITY = -2
|
|
Public Const SQL_CURSOR_TYPE = 6
|
|
|
|
' SQL_ATTR_CURSOR_SCROLLABLE values
|
|
Public Const SQL_NONSCROLLABLE = 0
|
|
Public Const SQL_SCROLLABLE = 1
|
|
|
|
' SQL_CURSOR_TYPE options
|
|
Public Const SQL_CURSOR_FORWARD_ONLY = 0
|
|
Public Const SQL_CURSOR_KEYSET_DRIVEN = 1
|
|
Public Const SQL_CURSOR_DYNAMIC = 2
|
|
Public Const SQL_CURSOR_STATIC = 3
|
|
Public Const SQL_CURSOR_TYPE_DEFAULT = SQL_CURSOR_FORWARD_ONLY ' Default value
|
|
|
|
' SQL data type codes
|
|
Public Const SQL_UNKNOWN_TYPE = 0
|
|
Public Const SQL_CHAR = 1
|
|
Public Const SQL_NUMERIC = 2
|
|
Public Const SQL_DECIMAL = 3
|
|
Public Const SQL_INTEGER = 4
|
|
Public Const SQL_SMALLINT = 5
|
|
Public Const SQL_FLOAT = 6
|
|
Public Const SQL_REAL = 7
|
|
Public Const SQL_DOUBLE = 8
|
|
Public Const SQL_DATETIME = 9
|
|
Public Const SQL_VARCHAR = 12
|
|
|
|
' Error numbers raised when a call fails - These are also resource IDs for the corresponding error description.
|
|
Public Enum ODBCAPIErrors
|
|
ErrorAllocateHandle = 20000
|
|
ErrorSetAttribute = 20001
|
|
ErrorConnectDriver = 20002
|
|
ErrorExecuteQuery = 20003
|
|
ErrorFetchRecord = 20004
|
|
ErrorCloseCursor = 20005
|
|
ErrorFreeHandle = 20006
|
|
ErrorDisconnectDriver = 20007
|
|
ErrorGetData = 20008
|
|
ErrorEndTransaction = 20009
|
|
ErrorResourceDeadlock = 20010
|
|
End Enum
|
|
|
|
Public Function ODBCAPICallSuccessful(lReturnCode As Long) As Boolean
|
|
' Returns True if the specified return code from an ODBC API call indicates that the operation was successful, else
|
|
' returns False
|
|
Select Case lReturnCode
|
|
Case SQL_SUCCESS, SQL_SUCCESS_WITH_INFO
|
|
ODBCAPICallSuccessful = True
|
|
Case Else
|
|
ODBCAPICallSuccessful = False
|
|
End Select
|
|
End Function
|