SQL中定义的存储过程参数VARCHAR,在VC中用什么数据类型的参数匹配?

解决方案 »

  1.   

    VARCHAR在sql 中是可变长的字符格式,在VC中则用char *就可以,或者是字符串都可以呀
      

  2.   

    _ParameterPtr pParamMember;
    pParamMember.CreateInstance("ADODB.Parameter");
    pParamMember->Name = "UseName";//参数名
    pParamMember->Type = char*;//参数类型
    pParamMember->Size = 20;
    pParamMember->Direction = adParamInput;//表明是输入参数
    pParamMember->Value = _variant_t(m_strUser);//参数值错误:error C2062: type 'char' unexpected //输入参数Member
    _ParameterPtr pParamMember;
    pParamMember.CreateInstance("ADODB.Parameter");
    pParamMember->Name = "UseName";//参数名
    pParamMember->Type = CString;//参数类型
    pParamMember->Size = 20;
    pParamMember->Direction = adParamInput;//表明是输入参数
    pParamMember->Value = _variant_t(m_strUser);//参数值
    错误: error C2275: 'CString' : illegal use of this type as an expression
      

  3.   

    你这个函数中的Type天成BSTR,Value填成BSTR的对象试试。BSTR对象用::SysAllocString函数构造一个。
      

  4.   

    问题解决了!
    发出来大家看看!
    其实这类型在ADO已经枚举了!
    enum DataTypeEnum
    {
        adEmpty = 0,
        adTinyInt = 16,
        adSmallInt = 2,
        adInteger = 3,
        adBigInt = 20,
        adUnsignedTinyInt = 17,
        adUnsignedSmallInt = 18,
        adUnsignedInt = 19,
        adUnsignedBigInt = 21,
        adSingle = 4,
        adDouble = 5,
        adCurrency = 6,
        adDecimal = 14,
        adNumeric = 131,
        adBoolean = 11,
        adError = 10,
        adUserDefined = 132,
        adVariant = 12,
        adIDispatch = 9,
        adIUnknown = 13,
        adGUID = 72,
        adDate = 7,
        adDBDate = 133,
        adDBTime = 134,
        adDBTimeStamp = 135,
        adBSTR = 8,
        adChar = 129,
        adVarChar = 200,
        adLongVarChar = 201,
        adWChar = 130,
        adVarWChar = 202,
        adLongVarWChar = 203,
        adBinary = 128,
        adVarBinary = 204,
        adLongVarBinary = 205,
        adChapter = 136,
        adFileTime = 64,
        adPropVariant = 138,
        adVarNumeric = 139,
        adArray = 8192
    };