⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 odbc api declarations.bas

📁 《VB6数据库开发指南》所有的例程的源码
💻 BAS
📖 第 1 页 / 共 5 页
字号:
    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 + -