202=adVarWCharConstant Value Description 
AdArray
(Does not apply to ADOX.) 0x2000 A flag value, always combined with another data type constant, that indicates an array of that other data type.  
adBigInt 20 Indicates an eight-byte signed integer (DBTYPE_I8). 
adBinary 128 Indicates a binary value (DBTYPE_BYTES). 
adBoolean 11 Indicates a boolean value (DBTYPE_BOOL). 
adBSTR 8 Indicates a null-terminated character string (Unicode) (DBTYPE_BSTR). 
adChapter 136 Indicates a four-byte chapter value that identifies rows in a child rowset (DBTYPE_HCHAPTER). 
adChar 129 Indicates a string value (DBTYPE_STR). 
adCurrency 6 Indicates a currency value (DBTYPE_CY). Currency is a fixed-point number with four digits to the right of the decimal point. It is stored in an eight-byte signed integer scaled by 10,000. 
adDate 7 Indicates a date value (DBTYPE_DATE). A date is stored as a double, the whole part of which is the number of days since December 30, 1899, and the fractional part of which is the fraction of a day. 
adDBDate 133 Indicates a date value (yyyymmdd) (DBTYPE_DBDATE). 
adDBTime 134 Indicates a time value (hhmmss) (DBTYPE_DBTIME). 
adDBTimeStamp 135 Indicates a date/time stamp (yyyymmddhhmmss plus a fraction in billionths) (DBTYPE_DBTIMESTAMP). 
adDecimal 14 Indicates an exact numeric value with a fixed precision and scale (DBTYPE_DECIMAL). 
adDouble 5 Indicates a double-precision floating-point value (DBTYPE_R8). 
adEmpty 0 Specifies no value (DBTYPE_EMPTY). 
adError 10 Indicates a 32-bit error code (DBTYPE_ERROR). 
adFileTime 64 Indicates a 64-bit value representing the number of 100-nanosecond intervals since January 1, 1601 (DBTYPE_FILETIME). 
adGUID 72 Indicates a globally unique identifier (GUID) (DBTYPE_GUID). 
adIDispatch 9 Indicates a pointer to an IDispatch interface on a COM object (DBTYPE_IDISPATCH). 
Note   This data type is currently not supported by ADO. Usage may cause unpredictable results.
 
adInteger 3 Indicates a four-byte signed integer (DBTYPE_I4). 
adIUnknown 13 Indicates a pointer to an IUnknown interface on a COM object (DBTYPE_IUNKNOWN). 
Note   This data type is currently not supported by ADO. Usage may cause unpredictable results.
 
adLongVarBinary 205 Indicates a long binary value (Parameter object only). 
adLongVarChar 201 Indicates a long string value (Parameter object only). 
adLongVarWChar 203 Indicates a long null-terminated Unicode string value (Parameter object only). 
adNumeric 131 Indicates an exact numeric value with a fixed precision and scale (DBTYPE_NUMERIC). 
adPropVariant 138 Indicates an Automation PROPVARIANT (DBTYPE_PROP_VARIANT). 
adSingle 4 Indicates a single-precision floating-point value (DBTYPE_R4). 
adSmallInt 2 Indicates a two-byte signed integer (DBTYPE_I2). 
adTinyInt 16 Indicates a one-byte signed integer (DBTYPE_I1). 
adUnsignedBigInt 21 Indicates an eight-byte unsigned integer (DBTYPE_UI8). 
adUnsignedInt 19 Indicates a four-byte unsigned integer (DBTYPE_UI4). 
adUnsignedSmallInt 18 Indicates a two-byte unsigned integer (DBTYPE_UI2). 
adUnsignedTinyInt 17 Indicates a one-byte unsigned integer (DBTYPE_UI1). 
adUserDefined 132 Indicates a user-defined variable (DBTYPE_UDT). 
adVarBinary 204 Indicates a binary value (Parameter object only). 
adVarChar 200 Indicates a string value (Parameter object only). 
adVariant 12 Indicates an Automation Variant (DBTYPE_VARIANT). 
Note   This data type is currently not supported by ADO. Usage may cause unpredictable results.
 
adVarNumeric 139 Indicates a numeric value (Parameter object only). 
adVarWChar 202 Indicates a null-terminated Unicode character string (Parameter object only). 
adWChar 130 Indicates a null-terminated Unicode character string (DBTYPE_WSTR). 

解决方案 »

  1.   

    错,应该是
    typename(rs.fields(0).value)
      

  2.   

    我想大家理解错了,如果rs.fields(0).value=“12345。67",我如何才能知道它在表里是以nvarchar存放的,还是以money存放的,或者其它很多种类型都可以啊,所以根本不能从它的值来判断。
      

  3.   

    shuaishen12(12)的好象有点意思,遗憾的是本人E文太差了!惭魁。
      

  4.   

    那只能根据.type来判断了,可以用
    select case rs.fields(0).type
           case adchar
           case adNumeric
           case ....
    end select
    如果是adDecimal或adNumeric
    rs.fields(0).NumericScale和.Precision表示精度
       
      

  5.   

    typename不行,比如有个字段存放的是空值,它会指示是Null。
      

  6.   

    就是用.TYPE,准备一个对照表或干脆建个枚举类型,世界清净了
      

  7.   

    去看MSDN吧 觉得E文不好 就去找中文版的MSDN看