📄 odbc api declarations.bas
字号:
ODBCGetInfo(7).InfoType = "SQL_DRIVER_VER"
ODBCGetInfo(7).ReturnType = "S"
ODBCGetInfo(8).InfoType = "SQL_FETCH_DIRECTION"
ODBCGetInfo(8).ReturnType = "B"
ODBCGetInfo(9).InfoType = "SQL_ODBC_API_CONFORMANCE"
ODBCGetInfo(9).ReturnType = "IP"
ODBCGetInfo(10).InfoType = "SQL_ODBC_VER"
ODBCGetInfo(10).ReturnType = "S"
ODBCGetInfo(11).InfoType = "SQL_ROW_UPDATES"
ODBCGetInfo(11).ReturnType = "SY"
ODBCGetInfo(12).InfoType = "SQL_ODBC_SAG_CLI_CONFORMANCE"
ODBCGetInfo(12).ReturnType = "I"
ODBCGetInfo(13).InfoType = "SQL_SERVER_NAME"
ODBCGetInfo(13).ReturnType = "S"
ODBCGetInfo(14).InfoType = "SQL_SEARCH_PATTERN_ESCAPE"
ODBCGetInfo(14).ReturnType = "S"
ODBCGetInfo(15).InfoType = "SQL_ODBC_SQL_CONFORMANCE"
ODBCGetInfo(15).ReturnType = "I"
ODBCGetInfo(17).InfoType = "SQL_DBMS_NAME"
ODBCGetInfo(17).ReturnType = "S"
ODBCGetInfo(18).InfoType = "SQL_DBMS_VER"
ODBCGetInfo(18).ReturnType = "S"
ODBCGetInfo(19).InfoType = "SQL_ACCESSIBLE_TABLES"
ODBCGetInfo(19).ReturnType = "SY"
ODBCGetInfo(20).InfoType = "SQL_ACCESSIBLE_PROCEDURES"
ODBCGetInfo(20).ReturnType = "SY"
ODBCGetInfo(21).InfoType = "SQL_PROCEDURES"
ODBCGetInfo(21).ReturnType = "SY"
ODBCGetInfo(22).InfoType = "SQL_CONCAT_NULL_BEHAVIOR"
ODBCGetInfo(22).ReturnType = "IP"
ODBCGetInfo(23).InfoType = "SQL_CURSOR_COMMIT_BEHAVIOR"
ODBCGetInfo(23).ReturnType = "IP"
ODBCGetInfo(24).InfoType = "SQL_CURSOR_ROLLBACK_BEHAVIOR"
ODBCGetInfo(24).ReturnType = "IP"
ODBCGetInfo(25).InfoType = "SQL_DATA_SOURCE_READ_ONLY"
ODBCGetInfo(25).ReturnType = "SY"
ODBCGetInfo(26).InfoType = "SQL_DEFAULT_TXN_ISOLATION"
ODBCGetInfo(26).ReturnType = "LP"
ODBCGetInfo(27).InfoType = "SQL_EXPRESSIONS_IN_ORDERBY"
ODBCGetInfo(27).ReturnType = "SP"
ODBCGetInfo(28).InfoType = "SQL_IDENTIFIER_CASE"
ODBCGetInfo(28).ReturnType = "IP"
ODBCGetInfo(29).InfoType = "SQL_IDENTIFIER_QUOTE_CHAR"
ODBCGetInfo(29).ReturnType = "S"
ODBCGetInfo(30).InfoType = "SQL_MAX_COLUMN_NAME_LEN"
ODBCGetInfo(30).ReturnType = "I"
ODBCGetInfo(31).InfoType = "SQL_MAX_CURSOR_NAME_LEN"
ODBCGetInfo(31).ReturnType = "I"
ODBCGetInfo(32).InfoType = "SQL_MAX_OWNER_NAME_LEN"
ODBCGetInfo(32).ReturnType = "I"
ODBCGetInfo(33).InfoType = "SQL_MAX_PROCEDURE_NAME_LEN"
ODBCGetInfo(33).ReturnType = "I"
ODBCGetInfo(34).InfoType = "SQL_MAX_QUALIFIER_NAME_LEN"
ODBCGetInfo(34).ReturnType = "I"
ODBCGetInfo(35).InfoType = "SQL_MAX_TABLE_NAME_LEN"
ODBCGetInfo(35).ReturnType = "I"
ODBCGetInfo(36).InfoType = "SQL_MULT_RESULT_SETS"
ODBCGetInfo(36).ReturnType = "SP"
ODBCGetInfo(37).InfoType = "SQL_MULTIPLE_ACTIVE_TXN"
ODBCGetInfo(37).ReturnType = "S"
ODBCGetInfo(38).InfoType = "SQL_OUTER_JOINS"
ODBCGetInfo(38).ReturnType = "SP"
ODBCGetInfo(39).InfoType = "SQL_OWNER_TERM"
ODBCGetInfo(39).ReturnType = "S"
ODBCGetInfo(40).InfoType = "SQL_PROCEDURE_TERM"
ODBCGetInfo(40).ReturnType = "S"
ODBCGetInfo(41).InfoType = "SQL_QUALIFIER_NAME_SEPARATOR"
ODBCGetInfo(41).ReturnType = "S"
ODBCGetInfo(42).InfoType = "SQL_QUALIFIER_TERM"
ODBCGetInfo(42).ReturnType = "S"
ODBCGetInfo(43).InfoType = "SQL_SCROLL_CONCURRENCY"
ODBCGetInfo(43).ReturnType = "B"
ODBCGetInfo(44).InfoType = "SQL_SCROLL_OPTIONS"
ODBCGetInfo(44).ReturnType = "B"
ODBCGetInfo(45).InfoType = "SQL_TABLE_TERM"
ODBCGetInfo(45).ReturnType = "S"
ODBCGetInfo(46).InfoType = "SQL_TXN_CAPABLE"
ODBCGetInfo(46).ReturnType = "IP"
ODBCGetInfo(47).InfoType = "SQL_USER_NAME"
ODBCGetInfo(47).ReturnType = "S"
ODBCGetInfo(48).InfoType = "SQL_CONVERT_FUNCTIONS"
ODBCGetInfo(48).ReturnType = "B"
ODBCGetInfo(49).InfoType = "SQL_NUMERIC_FUNCTIONS"
ODBCGetInfo(49).ReturnType = "B"
ODBCGetInfo(50).InfoType = "SQL_STRING_FUNCTIONS"
ODBCGetInfo(50).ReturnType = "B"
ODBCGetInfo(51).InfoType = "SQL_SYSTEM_FUNCTIONS"
ODBCGetInfo(51).ReturnType = "B"
ODBCGetInfo(52).InfoType = "SQL_TIMEDATE_FUNCTIONS"
ODBCGetInfo(52).ReturnType = "B"
ODBCGetInfo(53).InfoType = "SQL_CONVERT_BIGINT"
ODBCGetInfo(53).ReturnType = "B"
ODBCGetInfo(54).InfoType = "SQL_CONVERT_BINARY"
ODBCGetInfo(54).ReturnType = "B"
ODBCGetInfo(55).InfoType = "SQL_CONVERT_BIT"
ODBCGetInfo(55).ReturnType = "B"
ODBCGetInfo(56).InfoType = "SQL_CONVERT_CHAR"
ODBCGetInfo(56).ReturnType = "B"
ODBCGetInfo(57).InfoType = "SQL_CONVERT_DATE"
ODBCGetInfo(57).ReturnType = "B"
ODBCGetInfo(58).InfoType = "SQL_CONVERT_DECIMAL"
ODBCGetInfo(58).ReturnType = "B"
ODBCGetInfo(59).InfoType = "SQL_CONVERT_DOUBLE"
ODBCGetInfo(59).ReturnType = "B"
ODBCGetInfo(60).InfoType = "SQL_CONVERT_FLOAT"
ODBCGetInfo(60).ReturnType = "B"
ODBCGetInfo(61).InfoType = "SQL_CONVERT_INTEGER"
ODBCGetInfo(61).ReturnType = "B"
ODBCGetInfo(62).InfoType = "SQL_CONVERT_LONGVARCHAR"
ODBCGetInfo(62).ReturnType = "B"
ODBCGetInfo(63).InfoType = "SQL_CONVERT_NUMERIC"
ODBCGetInfo(63).ReturnType = "B"
ODBCGetInfo(64).InfoType = "SQL_CONVERT_REAL"
ODBCGetInfo(64).ReturnType = "B"
ODBCGetInfo(65).InfoType = "SQL_CONVERT_SMALLINT"
ODBCGetInfo(65).ReturnType = "B"
ODBCGetInfo(66).InfoType = "SQL_CONVERT_TIME"
ODBCGetInfo(66).ReturnType = "B"
ODBCGetInfo(67).InfoType = "SQL_CONVERT_TIMESTAMP"
ODBCGetInfo(67).ReturnType = "B"
ODBCGetInfo(68).InfoType = "SQL_CONVERT_TINYINT"
ODBCGetInfo(68).ReturnType = "B"
ODBCGetInfo(69).InfoType = "SQL_CONVERT_VARBINARY"
ODBCGetInfo(69).ReturnType = "B"
ODBCGetInfo(70).InfoType = "SQL_CONVERT_VARCHAR"
ODBCGetInfo(70).ReturnType = "B"
ODBCGetInfo(71).InfoType = "SQL_CONVERT_LONGVARBINARY"
ODBCGetInfo(71).ReturnType = "B"
ODBCGetInfo(72).InfoType = "SQL_TXN_ISOLATION_OPTION"
ODBCGetInfo(72).ReturnType = "B"
ODBCGetInfo(73).InfoType = "SQL_ODBC_SQL_OPT_IEF"
ODBCGetInfo(73).ReturnType = "SP"
ODBCGetInfo(74).InfoType = "SQL_CORRELATION_NAME"
ODBCGetInfo(74).ReturnType = "IP"
ODBCGetInfo(75).InfoType = "SQL_NON_NULLABLE_COLUMNS"
ODBCGetInfo(75).ReturnType = "IP"
#If ODBCVER >= &H200 Then
ODBCGetInfo(76).InfoType = "SQL_DRIVER_HLIB"
ODBCGetInfo(76).ReturnType = "L"
ODBCGetInfo(77).InfoType = "SQL_DRIVER_ODBC_VER"
ODBCGetInfo(77).ReturnType = "S"
ODBCGetInfo(78).InfoType = "SQL_LOCK_TYPES"
ODBCGetInfo(78).ReturnType = "B"
ODBCGetInfo(79).InfoType = "SQL_POS_OPERATIONS"
ODBCGetInfo(79).ReturnType = "B"
ODBCGetInfo(80).InfoType = "SQL_POSITIONED_STATEMENTS"
ODBCGetInfo(80).ReturnType = "B"
ODBCGetInfo(81).InfoType = "SQL_GETDATA_EXTENSIONS"
ODBCGetInfo(81).ReturnType = "B"
ODBCGetInfo(82).InfoType = "SQL_BOOKMARK_PERSISTENCE"
ODBCGetInfo(82).ReturnType = "B"
ODBCGetInfo(83).InfoType = "SQL_STATIC_SENSITIVITY"
ODBCGetInfo(83).ReturnType = "B"
ODBCGetInfo(84).InfoType = "SQL_FILE_USAGE"
ODBCGetInfo(84).ReturnType = "IP"
ODBCGetInfo(85).InfoType = "SQL_NULL_COLLATION"
ODBCGetInfo(85).ReturnType = "IP"
ODBCGetInfo(86).InfoType = "SQL_ALTER_TABLE"
ODBCGetInfo(86).ReturnType = "B"
ODBCGetInfo(87).InfoType = "SQL_COLUMN_ALIAS"
ODBCGetInfo(87).ReturnType = "SP"
ODBCGetInfo(88).InfoType = "SQL_GROUP_BY"
ODBCGetInfo(88).ReturnType = "IP"
ODBCGetInfo(89).InfoType = "SQL_KEYWORDS"
ODBCGetInfo(89).ReturnType = "SP"
ODBCGetInfo(90).InfoType = "SQL_ORDER_BY_COLUMNS_IN_SELECT"
ODBCGetInfo(90).ReturnType = "SY"
ODBCGetInfo(91).InfoType = "SQL_OWNER_USAGE"
ODBCGetInfo(91).ReturnType = "B"
ODBCGetInfo(92).InfoType = "SQL_QUALIFIER_USAGE"
ODBCGetInfo(92).ReturnType = "B"
ODBCGetInfo(93).InfoType = "SQL_QUOTED_IDENTIFIER_CASE"
ODBCGetInfo(93).ReturnType = "IP"
ODBCGetInfo(94).InfoType = "SQL_SPECIAL_CHARACTERS"
ODBCGetInfo(94).ReturnType = "S"
ODBCGetInfo(95).InfoType = "SQL_SUBQUERIES"
ODBCGetInfo(95).ReturnType = "B"
ODBCGetInfo(96).InfoType = "SQL_UNION"
ODBCGetInfo(96).ReturnType = "B"
ODBCGetInfo(97).InfoType = "SQL_MAX_COLUMNS_IN_GROUP_BY"
ODBCGetInfo(97).ReturnType = "I"
ODBCGetInfo(98).InfoType = "SQL_MAX_COLUMNS_IN_INDEX"
ODBCGetInfo(98).ReturnType = "I"
ODBCGetInfo(99).InfoType = "SQL_MAX_COLUMNS_IN_ORDER_BY"
ODBCGetInfo(99).ReturnType = "I"
ODBCGetInfo(100).InfoType = "SQL_MAX_COLUMNS_IN_SELECT"
ODBCGetInfo(100).ReturnType = "I"
ODBCGetInfo(101).InfoType = "SQL_MAX_COLUMNS_IN_TABLE"
ODBCGetInfo(101).ReturnType = "I"
ODBCGetInfo(102).InfoType = "SQL_MAX_INDEX_SIZE"
ODBCGetInfo(102).ReturnType = "L"
ODBCGetInfo(103).InfoType = "SQL_MAX_ROW_SIZE_INCLUDES_LONG"
ODBCGetInfo(103).ReturnType = "SY"
ODBCGetInfo(104).InfoType = "SQL_MAX_ROW_SIZE"
ODBCGetInfo(104).ReturnType = "L"
ODBCGetInfo(105).InfoType = "SQL_MAX_STATEMENT_LEN"
ODBCGetInfo(105).ReturnType = "L"
ODBCGetInfo(106).InfoType = "SQL_MAX_TABLES_IN_SELECT"
ODBCGetInfo(106).ReturnType = "I"
ODBCGetInfo(107).InfoType = "SQL_MAX_USER_NAME_LEN"
ODBCGetInfo(107).ReturnType = "I"
ODBCGetInfo(108).InfoType = "SQL_MAX_CHAR_LITERAL_LEN"
ODBCGetInfo(108).ReturnType = "L"
ODBCGetInfo(109).InfoType = "SQL_TIMEDATE_ADD_INTERVALS"
ODBCGetInfo(109).ReturnType = "B"
ODBCGetInfo(110).InfoType = "SQL_TIMEDATE_DIFF_INTERVALS"
ODBCGetInfo(110).ReturnType = "B"
ODBCGetInfo(111).InfoType = "SQL_NEED_LONG_DATA_LEN"
ODBCGetInfo(111).ReturnType = "SY"
ODBCGetInfo(112).InfoType = "SQL_MAX_BINARY_LITERAL_LEN"
ODBCGetInfo(112).ReturnType = "L"
ODBCGetInfo(113).InfoType = "SQL_LIKE_ESCAPE_CLAUSE"
ODBCGetInfo(113).ReturnType = "SY"
ODBCGetInfo(114).InfoType = "SQL_QUALIFIER_LOCATION"
ODBCGetInfo(114).ReturnType = "IP"
#End If
End Sub
Private Function ParseError(Message As String, Place As Integer)
'Split out the pieces of the ODBC error message
'Structure of non-data source Message: [Vendor][ODBC component]Component supplied text
'Structure of data source Message: [Vendor][ODBC component][Data Source identifier]Data Source supplied text
Dim I As Integer
Dim posLeft As Integer
Dim posRight As Integer
Dim newLeft As Integer
Dim textLeft, textRight
Dim text As String
Static lBrackets(1 To 4) As Integer 'array of left-bracket locations
Static Rbrackets(1 To 4) As Integer 'array of right-bracket locations
Static msgType As String
Message = Trim$(Message)
If Message = "" Then
ParseError = ""
Exit Function
End If
newLeft = 1
If Place = 1 Then 'new message, so re-parse
For I = 1 To 3
lBrackets(I) = InStr(newLeft, Message, "[")
Rbrackets(I) = InStr(newLeft, Message, "]")
newLeft = Rbrackets(I) + 1
Next
msgType = IIf(lBrackets(3) = 0, "NDS", "DS")
End If
If lBrackets(Place) > 0 Then 'that term exists as a bracketed item
textLeft = lBrackets(Place) + 1
textRight = Rbrackets(Place) - 1
text = Mid$(Message, textLeft, textRight - textLeft + 1)
Else
text = Right$(Message, Len(Message) - Rbrackets(Place - 1))
End If
Select Case Place
Case 1
ParseError = "Driver Vendor: " & text
Case 2
ParseError = "ODBC Identifier: " & text
Case 3
ParseError = IIf(msgType = "DS", "Data Source: ", "") & text
Case 4
ParseError = "Error: " & text
Case Else
ParseError = ""
End Select
End Function
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -