使用DAO读写Access数据库,数据库字段类型是用dbText,dbLong,dbDouble等表示的,但取值的时候用的是COleVariant类型,不知道这两种类型之间的对应关系是什么样的?我现在知道一些简单类型的对应,比如dbLong对应VT_I4,dbInterger对应VT_I2,但不知道复杂类型是怎么对应的?
比如dbCurrency对应什么?dbLongBinary?等等。

解决方案 »

  1.   

    可以查找一下:MSDN和数据库字段类型的说明文件。
    通过MSDN知道每一个表示什么意思,如:VT_I4知道其中的类型,然后通过阅读数据库中的字段说明,则可以对应起来。
      

  2.   

    调试
    看COleVariant中的哪个对就用哪个^^
      

  3.   

    呵呵,本来是不想费那个功夫,想找个线程的,结果还是要一个个去试。把结果列以下,可能还有人需要:(以下只对Access而言)自动编号、数值-》dbLong->VT_T4
    文本、备注-》dbText\dbMemo->VT_BSTR
    货币-》dbCurrency->VT_CY
    日期是件-》dbDate->VT_DATE
    是否-》dbBool->VT_BOOL