示例#1
0
        internal static TypeMap FromSqlType(ODBC32.SQL_TYPE sqltype)
        {
            switch (sqltype)
            {
            case ODBC32.SQL_TYPE.CHAR: return(_Char);

            case ODBC32.SQL_TYPE.VARCHAR: return(_VarChar);

            case ODBC32.SQL_TYPE.LONGVARCHAR: return(_Text);

            case ODBC32.SQL_TYPE.WCHAR: return(s_NChar);

            case ODBC32.SQL_TYPE.WVARCHAR: return(_NVarChar);

            case ODBC32.SQL_TYPE.WLONGVARCHAR: return(_NText);

            case ODBC32.SQL_TYPE.DECIMAL: return(s_decimal);

            case ODBC32.SQL_TYPE.NUMERIC: return(s_numeric);

            case ODBC32.SQL_TYPE.SMALLINT: return(s_smallInt);

            case ODBC32.SQL_TYPE.INTEGER: return(s_int);

            case ODBC32.SQL_TYPE.REAL: return(s_real);

            case ODBC32.SQL_TYPE.FLOAT: return(s_double);

            case ODBC32.SQL_TYPE.DOUBLE: return(s_double);

            case ODBC32.SQL_TYPE.BIT: return(s_bit);

            case ODBC32.SQL_TYPE.TINYINT: return(s_tinyInt);

            case ODBC32.SQL_TYPE.BIGINT: return(s_bigInt);

            case ODBC32.SQL_TYPE.BINARY: return(s_binary);

            case ODBC32.SQL_TYPE.VARBINARY: return(s_varBinary);

            case ODBC32.SQL_TYPE.LONGVARBINARY: return(_Image);

            case ODBC32.SQL_TYPE.TYPE_DATE: return(s_date);

            case ODBC32.SQL_TYPE.TYPE_TIME: return(s_time);

            case ODBC32.SQL_TYPE.TIMESTAMP:
            case ODBC32.SQL_TYPE.TYPE_TIMESTAMP: return(s_dateTime);

            case ODBC32.SQL_TYPE.GUID: return(s_uniqueId);

            case ODBC32.SQL_TYPE.SS_VARIANT: return(s_variant);

            case ODBC32.SQL_TYPE.SS_UDT: return(s_UDT);

            case ODBC32.SQL_TYPE.SS_XML: return(s_XML);

            case ODBC32.SQL_TYPE.SS_UTCDATETIME:
            case ODBC32.SQL_TYPE.SS_TIME_EX:
                throw ODBC.UnknownSQLType(sqltype);

            default:
                throw ODBC.UnknownSQLType(sqltype);
            }
        }