在设计书据库得时候,把某一个字段的属性设成为char 长度为10,如何通过代码来得到盖字段的这一属性,主要是字段长度。

解决方案 »

  1.   

    //////////////////////////////////////////////////
    //Get field name and length of a table
    /////////////////////////////////////////////////
    _Connection dbcon;
    _Recordset rs;
    dbcon.CreateDispatch("ADODB.Connection");
    dbcon.Open(m_strConnection,"","",NULL);
    rs.CreateDispatch("ADODB.Recordset");
    COleVariant vt(m_strTable);
    rs.Open(vt,COleVariant(m_strConnection), adOpenStatic,adLockOptimistic, adCmdTable);
    LPDISPATCH lpDisp;
    lpDisp=rs.GetFields();
    ASSERT(lpDisp);
    Fields fields;
    fields.AttachDispatch(lpDisp);
    VARIANT varIndex;
    VariantInit(&varIndex);
    varIndex.vt=VT_I2;
    int nFields=fields.GetCount();
    Field field;
    CString strFieldName,strFieldType;
    long lDefineSize;
    for(int i=0;i<nFields;i++)
    {
    varIndex.iVal=i;
    lpDisp=fields.GetItem(varIndex);
    field.AttachDispatch(lpDisp);
    strFieldName=field.GetName(); 
    lDefineSize=field.GetDefinedSize(); //字段长度
    }
    field.ReleaseDispatch();
    fields.ReleaseDispatch();
    rs.Close();
    rs.ReleaseDispatch();
    dbcon.Close();
    dbcon.ReleaseDispatch();
      

  2.   

    我的数据库是通过odbc连服务器的SQL数据库,在这种情况下,该如何操作?
      

  3.   

    CODBCFieldInfo fi;
    GetODBCFieldInfo( i, fi );
    fi 的结构在msdn中有说明
      

  4.   

    GetOdbcFieldInfo 函数我也用过,但是就是找不到关于字段的长度的说明.困惑啊?