不能将参数 1 从“const char [508]”转换为“const wchar_t *”是怎么回事涅??
- C/C++ code
CString sSqlStr; sSqlStr.Format("insert into MasterInfo (EditTime,GSMCCN,GSMCEN,CLSJ,FRDBCN,FRDBEN,POSTCODE," "ADDRESSCN,ADDRESSEN,ZYCPFWCN,ZYCPFWEN,BUYCN,BUYEN,GSWZ,GSJJCN,GSJJEN," "NAMECN,FIRSTNAME,LASTNAME,MSN,QQ,NATIONCODE,CITYCODE,PHONE,OFFICECODE,FAX,MOBILEPHONE,EMAIL," "ZCZJ,GSXZ,JYMS,GYRS,NYYE,COUNTRY,PROVINCE,CITY,TOWN,SEX,ZW,BM) " "values ('%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s'," "'%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s'," "'%d','%d','%d','%d','%d','%d','%d','%d','%d','%d','%d','%d')", EditTime,GSMCCN,GSMCEN,CLSJ,FRDBCN,FRDBEN,POSTCODE, ADDRESSCN,ADDRESSEN,ZYCPFWCN,ZYCPFWEN,BUYCN,BUYEN,GSWZ,GSJJCN,GSJJEN, NAMECN,FIRSTNAME,LASTNAME,MSN,QQ,NATIONCODE,CITYCODE,PHONE,OFFICECODE,FAX,MOBILEPHONE,EMAIL, ZCZJ,GSXZ,JYMS,GYRS,NYYE,COUNTRY,PROVINCE,CITY,TOWN,SEX,ZW,BM); BSTR sql=sSqlStr.AllocSysString(); pConn->Execute(sql,NULL,adCmdText);
- C/C++ code
1>------ 已启动生成: 项目: SendTool, 配置: Debug Win32 ------1>正在编译...1>DlgMasterInfo.cpp1>f:\visual studio 2008\projects\新建文件夹\sendtool\sendtool\dlgmasterinfo.cpp(120) : error C2664: “void ATL::CStringT<BaseType,StringTraits>::Format(const wchar_t *,...)”: 不能将参数 1 从“const char [508]”转换为“const wchar_t *”1> with1> [1> BaseType=wchar_t,1> StringTraits=StrTraitMFC<wchar_t>1> ]1> 与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换1>生成日志保存在“file://f:\Visual Studio 2008\Projects\新建文件夹\SendTool\SendTool\Debug\BuildLog.htm”1>SendTool - 1 个错误,0 个警告========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========
前辈忙帮忙看看啊!
[解决办法]
用_T()宏把字符串转换成UNICODE字符串
[解决办法]
在你的项目属性里面把编码方式改为"使用多字节字符集" 或者把代码改成这样的形式
_T("insert into MasterInfo (EditTime,GSMCCN,GSMCEN,CLSJ,FRDBCN,FRDBEN,POSTCODE,") 宽字符