Exemplo n.º 1
0
        internal void SetSupportedType(ODBC32.SQL_TYPE sqltype)
        {
            ODBC32.SQL_CVT wLONGVARCHAR;
            switch (sqltype)
            {
            case ODBC32.SQL_TYPE.WLONGVARCHAR:
                wLONGVARCHAR = ODBC32.SQL_CVT.WLONGVARCHAR;
                break;

            case ODBC32.SQL_TYPE.WVARCHAR:
                wLONGVARCHAR = ODBC32.SQL_CVT.WVARCHAR;
                break;

            case ODBC32.SQL_TYPE.WCHAR:
                wLONGVARCHAR = ODBC32.SQL_CVT.WCHAR;
                break;

            case ODBC32.SQL_TYPE.NUMERIC:
                wLONGVARCHAR = ODBC32.SQL_CVT.NUMERIC;
                break;

            default:
                return;
            }
            OdbcConnectionPoolGroupProviderInfo providerInfo = this.ProviderInfo;

            providerInfo.TestedSQLTypes |= wLONGVARCHAR;
            OdbcConnectionPoolGroupProviderInfo info2 = this.ProviderInfo;

            info2.SupportedSQLTypes |= wLONGVARCHAR;
        }
Exemplo n.º 2
0
        internal void FlagRestrictedSqlBindType(ODBC32.SQL_TYPE sqltype)
        {
            ODBC32.SQL_CVT nUMERIC;
            switch (sqltype)
            {
            case ODBC32.SQL_TYPE.NUMERIC:
                nUMERIC = ODBC32.SQL_CVT.NUMERIC;
                break;

            case ODBC32.SQL_TYPE.DECIMAL:
                nUMERIC = ODBC32.SQL_CVT.DECIMAL;
                break;

            default:
                return;
            }
            OdbcConnectionPoolGroupProviderInfo providerInfo = this.ProviderInfo;

            providerInfo.RestrictedSQLBindTypes |= nUMERIC;
        }
Exemplo n.º 3
0
        internal bool TestTypeSupport(ODBC32.SQL_TYPE sqltype)
        {
            ODBC32.SQL_CVT     wLONGVARCHAR;
            ODBC32.SQL_CONVERT lONGVARCHAR;
            switch (sqltype)
            {
            case ODBC32.SQL_TYPE.WLONGVARCHAR:
                lONGVARCHAR  = ODBC32.SQL_CONVERT.LONGVARCHAR;
                wLONGVARCHAR = ODBC32.SQL_CVT.WLONGVARCHAR;
                break;

            case ODBC32.SQL_TYPE.WVARCHAR:
                lONGVARCHAR  = ODBC32.SQL_CONVERT.VARCHAR;
                wLONGVARCHAR = ODBC32.SQL_CVT.WVARCHAR;
                break;

            case ODBC32.SQL_TYPE.WCHAR:
                lONGVARCHAR  = ODBC32.SQL_CONVERT.CHAR;
                wLONGVARCHAR = ODBC32.SQL_CVT.WCHAR;
                break;

            case ODBC32.SQL_TYPE.NUMERIC:
                lONGVARCHAR  = ODBC32.SQL_CONVERT.NUMERIC;
                wLONGVARCHAR = ODBC32.SQL_CVT.NUMERIC;
                break;

            default:
                return(false);
            }
            if ((this.ProviderInfo.TestedSQLTypes & wLONGVARCHAR) == 0)
            {
                int num = this.GetInfoInt32Unhandled((ODBC32.SQL_INFO)lONGVARCHAR) & wLONGVARCHAR;
                OdbcConnectionPoolGroupProviderInfo providerInfo = this.ProviderInfo;
                providerInfo.TestedSQLTypes |= wLONGVARCHAR;
                OdbcConnectionPoolGroupProviderInfo info2 = this.ProviderInfo;
                info2.SupportedSQLTypes |= num;
            }
            return(0 != (this.ProviderInfo.SupportedSQLTypes & wLONGVARCHAR));
        }