1> with
1> [
1> BaseType=char,
1> StringTraits=StrTraitMFC_DLL<char>
1> ]
1> 没有使该转换得以执行的上下文
谢谢
18 个解决方案
#1
调用 WideCharToMultiByte 先将宽字符转化一下即可!
#2
参数传错了。。。。
用楼上的方法试试!!!!!
用楼上的方法试试!!!!!
#3
Replace那行代码贴出来看下
#4
在属性中将character set改为多字节,别用unicode试试看
#5
修改字符集
#6
直接用CStringW
#7
字符集要一致
#8
用CStringA
#9
你把使用的代码贴出来!
不过从你贴出的错误现象,应该就是参数类型错误问题,CStringT原型要求的是char,你就想办法转换成这个类型!
不过从你贴出的错误现象,应该就是参数类型错误问题,CStringT原型要求的是char,你就想办法转换成这个类型!
#10
CString EscapeSQLString(CString s) {
s.Replace(L"'", L"''");
return s;
}
附上代码
s.Replace(L"'", L"''");
return s;
}
附上代码
#11
直接用CStringW 或者修改工程的字符集为 Unicode
#12
把工程的字符集改成Unicode后,出现了其他问题,而且更多啊
#13
1>------ 已启动全部重新生成: 项目: Addtest, 配置: Debug Win32 ------
1>正在删除项目“Addtest”(配置“Debug|Win32”)的中间文件和输出文件
1>正在编译...
1>stdafx.cpp
1>正在编译...
1>Addtest.cpp
1>d:\my documents\visual studio 2005\projects\addtest\addtest\addtest.cpp(79) : error C2664: “GetModuleFileNameW”: 不能将参数 2 从“char [260]”转换为“LPWCH”
1> 与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换
1>d:\my documents\visual studio 2005\projects\addtest\addtest\addtest.cpp(82) : error C2440: “初始化”: 无法从“const char [8]”转换为“ATL::CStringT<BaseType,StringTraits>”
1> with
1> [
1> BaseType=wchar_t,
1> StringTraits=StrTraitMFC_DLL<wchar_t>
1> ]
1> class“ATL::CStringT<BaseType,StringTraits>”的构造函数声明为“explicit”
1> with
1> [
1> BaseType=wchar_t,
1> StringTraits=StrTraitMFC_DLL<wchar_t>
1> ]
1>d:\my documents\visual studio 2005\projects\addtest\addtest\addtest.cpp(84) : error C2664: “GetShortPathNameW”: 不能将参数 1 从“char [260]”转换为“LPCWSTR”
1> 与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换
1>d:\my documents\visual studio 2005\projects\addtest\addtest\addtest.cpp(87) : error C2664: “RegOpenKeyExW”: 不能将参数 2 从“const char [46]”转换为“LPCWSTR”
1> 与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换
1>d:\my documents\visual studio 2005\projects\addtest\addtest\addtest.cpp(99) : error C2664: “RegSetValueExW”: 不能将参数 2 从“const char [24]”转换为“LPCWSTR”
1> 与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换
1>d:\my documents\visual studio 2005\projects\addtest\addtest\addtest.cpp(114) : error C2440: “初始化”: 无法从“const char [8]”转换为“ATL::CStringT<BaseType,StringTraits>”
1> with
1> [
1> BaseType=wchar_t,
1> StringTraits=StrTraitMFC_DLL<wchar_t>
1> ]
1> class“ATL::CStringT<BaseType,StringTraits>”的构造函数声明为“explicit”
1r_t>
1> ]
ts=StrTraitMFC_DLL<wchar_t>
1> ]
1
1>
1> d:\program files\microsoft visual studio 8\vc\include\comutil.h(139): 或“_bstr_t operator +(const char *,const _bstr_t &)”
1> d:\program files\microsoft visual studio 8\vc\include\comutil.h(140): 或“_bstr_t operator +(const wchar_t *,const _bstr_t &)”
1> 试图匹配参数列表“(const char [11], CString)”时
1>d:\my documents\visual studio 2005\projects\addtest\addtest\outlookbutton.cpp(324) : error C2678: 二进制“+”: 没有找到接受“const char [10]”类型的左操作数的运算符(或没有可接受的转换)
1> d:\program files\microsoft visual studio 8\vc\atlmfc\include\atlsimpstr.h(666): 可能是“ATL::CSimpleStringT<BaseType,t_bMFCDLL> ATL::CSimpleStringT<BaseType,t_bMFCDLL>::operator +(const ATL::CSimpleStringT<BaseType,t_bMFCDLL> &,const ATL::CSimpleStringT<BaseType,t_bMFCDLL> &)”[通过使用参数相关的查找找到]
1> with
1> [
1> BaseType=wchar_t,
1> t_bMFCDLL=true
1> ]
1> d:\program files\microsoft visual studio 8\vc\atlmfc\include\atlsimpstr.h(677): 或“ATL::CSimpleStringT<BaseType,t_bMFCDLL> ATL::CSimpleStringT<BaseType,t_bMFCDLL>::operator +(const ATL::CSimpleStringT<BaseType,t_bMFCDLL> &,const wchar_t *)”[使用参数相关的查找找到]
1> with
1> [
1> BaseType=wchar_t,
1> t_bMFCDLL=true
1> ]
1> d:\program files\microsoft visual studio 8\vc\atlmfc\include\atlsimpstr.h(688): 或“ATL::CSimpleStringT<BaseType,t_bMFCDLL> ATL::CSimpleStringT<BaseType,t_bMFCDLL>::operator +(const wchar_t *,const ATL::CSimpleStringT<BaseType,t_bMFCDLL> &)”[使用参数相关的查找找到]
1> with
1> [
1> BaseType=wchar_t,
1> t_bMFCDLL=true
1> ]
1> d:\program files\microsoft visual studio 8\vc\atlmfc\include\cstringt.h(2289): 或“ATL::CStringT<BaseType,StringTraits> ATL::CStringT<BaseType,StringTraits>::operator +(const ATL::CStringT<BaseType,StringTraits> &,const ATL::CStringT<BaseType,StringTraits> &)”[使用参数相关的查找找到]
1> with
1> [
1> BaseType=wchar_t,
1>
1aitMFC_DLL<wchar_t>
1> ]
1> d:\program files\microsoft visual studio 8\vc\atlmfc\include\cstringt.h(2346): 或“ATL::CStringT<BaseType,StringTraits> ATL::CStringT<BaseType,StringTraits>::operator +(char,const ATL::CStringT<BaseType,StringTraits> &)”[使用参数相关的查找找到]
1> with
1> [
1> BaseType=wchar_t,
1> StringTraits=StrTraitMFC_DLL<wchar_t>
1> ]
1> d:\program files\microsoft visual studio 8\vc\include\comutil.h(139): 或“_bstr_t operator +(const char *,const _bstr_t &)”
1> d:\program files\microsoft visual studio 8\vc\include\comutil.h(140): 或“_bstr_t operator +(const wchar_t *,const _bstr_t &)”
1> 试图匹配参数列表“(const char [14], CString)”时
1>d:\my documents\visual studio 2005\projects\addtest\addtest\outlookbutton.cpp(336) : error C2678: 二进制“+”: 没有找到接受“const char [10]”类型的左操作数的运算符(或没有可接受的转换)
1> d:\program files\microsoft visual studio 8\vc\atlmfc\include\atlsimpstr.h(666): 可能是“ATL::CSimpleStringT<BaseType,t_bMFCDLL> ATL::CSimpleStringT<BaseType,t_bMFCDLL>::operator +(const ATL::CSimpleStringT<BaseType,t_bMFCDLL> &,const ATL::CSimpleStringT<BaseType,t_bMFCDLL> &)”[通过使用参数相关的查找找到]
1> with
1> [
1> BaseType=wchar_t,
1> t_bMFCDLL=true
1> ]
1> d:\program files\microsoft visual studio 8\vc\atlmfc\include\atlsimpstr.h(677): 或“ATL::CSimpleStringT<BaseType,t_bMFCDLL> ATL::CSimpleStringT<BaseType,t_bMFCDLL>::operator +(const ATL::CSimpleStringT<BaseType,t_bMFCDLL> &,const wchar_t *)”[使用参数相关的查找找到]
1> with
1> [
1> BaseType=wchar_t,
1> t_bMFCDLL=true
1> ]
1> d:\program files\microsoft visual studio 8\vc\atlmfc\include\atlsimpstr.h(688): 或“ATL::CSimpleStringT<BaseType,t_bMFCDLL> ATL::CSimpleStringT<BaseType,t_bMFCDLL>::operator +(const wchar_t *,const ATL::CSimpleStringT<BaseType,t_bMFCDLL> &)”[使用参数相关的查找找到]
1> with
1> ,t_bMFCDLL> &,const wchar_t *)”[使用参数相关的查找找到]
1> with
1> [
1>
1> d:\program files\microsoft visual studio 8\vc\atlmfc\include\cstringt.h(2289): 或“ATL::CStringT<BaseType,StringTraits> ATL::CStringT<BaseType,StringTraits>::operator +(const ATL::CStringT<BaseType,StringTraits> &,const ATL::CStringT<BaseType,StringTraits> &)”[使用参数相关的查找找到]
1> with
1> [
1> BaseType=wchar_t,
1> StringTraits=StrTraitMFC_DLL<wchar_t>
1> ]
1
1> with
1> [
1> BaseType=wchar_t,
1> t_bMFCDLL=true
1> ]
1> d:\program files\microsoft visual studio 8\vc\atlmfc\include\atlsimpstr.h(677): 或“ATL::CSimpleStringT<BaseType,t_bMFCDLL> ATL::CSimpleStringT<BaseType,t_bMFCDLL>::operator +(const ATL::CSimpleStringT<BaseType,t_bMFCDLL> &,const wchar_t *)”[使用参数相关的查找找到]
1> with
1> [
1> BaseType=wchar_t,
1> t_bMFCDLL=true
1> ]
1> d:\program files\microsoft visual studio 8\vc\atlmfc\include\atlsimpstr.h(688): 或“ATL::CSimpleStringT<BaseType,t_bMFCDLL> ATL::CSimpleStringT<BaseType,t_bMFCDLL>::operator +(const wchar_t *,const ATL::CSimpleStringT<BaseType,t_bMFCDLL> &)”[使用参数相关的查找找到]
1> with
1> [
1> BaseType=wchar_t,
1> t_bMFCDLL=true
1> ]
1> d:\program files\microsoft visual studio 8\vc\atlmfc\include\cstringt.h(2289): 或“ATL::CStringT<BaseType,StringTraits> ATL::CStringT<BaseType,StringTraits>::operator +(const ATL::CStringT<BaseType,StringTraits> &,const ATL::CStringT<BaseType,StringTraits> &)”[使用参数相关的查找找到]
1> with
1> [
tringTraits> &)”[使用参数相关的查找找到]
1> with
1> [
1> BaseType=wchar_t,
1> StringTraits=StrTraitMFC_DLL<wchar_t>
1> ]
1> d:\program files\microsoft visual studio 8\vc\include\comutil.h(139): 或“_bstr_t operator +(const char *,const _bstr_t &)”
1> d:\program files\microsoft visual studio 8\vc\include\comutil.h(140): 或“_bstr_t operator +(const wchar_t *,const _bstr_t &)”
1> 试图匹配参数列表“(const char [7], CString)”时
1>d:\my documents\visual studio 2005\projects\addtest\addtest\outlookbutton.cpp(356) : error C2678: 二进制“+”: 没有找到接受“const char [10]”类型的左操作数的运算符(或没有可接受的转换)
1> d:\program files\microsoft visual studio 8\vc\atlmfc\include\atlsimpstr.h(666): 可能是“ATL::CSimpleStringT<BaseType,t_bMFCDLL> ATL::CSimpleStringT<BaseType,t_bMFCDLL>::operator +(const ATL::CSimpleStringT<BaseType,t_bMFCDLL> &,const ATL::CSimpleStringT<BaseType,t_bMFCDLL> &)”[通过使用参数相关的查找找到]
1> with
1>
1> ]
1> d:\program files\microsoft visual studio 8\vc\atlmfc\include\cstringt.h(2307): 或“ATL::CStringT<BaseType,StringTraits> ATL::CStringT<BaseType,StringTraits>::operator +(const wchar_t *,const ATL::CStringT<BaseType,StringTraits> &)”[使用参数相关的查找找到]
1> with
1> [
1> BaseType=wchar_t,
1> StringTraits=StrTraitMFC_DLL<wchar_t>
1> ]
1>正在生成代码...
1>生成日志保存在“file://d:\My Documents\Visual Studio 2005\Projects\Addtest\Addtest\Debug\BuildLog.htm”
1>Addtest - 44 个错误,0 个警告
========== 全部重新生成: 0 已成功, 1 已失败, 0 已跳过 ==========
1>正在删除项目“Addtest”(配置“Debug|Win32”)的中间文件和输出文件
1>正在编译...
1>stdafx.cpp
1>正在编译...
1>Addtest.cpp
1>d:\my documents\visual studio 2005\projects\addtest\addtest\addtest.cpp(79) : error C2664: “GetModuleFileNameW”: 不能将参数 2 从“char [260]”转换为“LPWCH”
1> 与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换
1>d:\my documents\visual studio 2005\projects\addtest\addtest\addtest.cpp(82) : error C2440: “初始化”: 无法从“const char [8]”转换为“ATL::CStringT<BaseType,StringTraits>”
1> with
1> [
1> BaseType=wchar_t,
1> StringTraits=StrTraitMFC_DLL<wchar_t>
1> ]
1> class“ATL::CStringT<BaseType,StringTraits>”的构造函数声明为“explicit”
1> with
1> [
1> BaseType=wchar_t,
1> StringTraits=StrTraitMFC_DLL<wchar_t>
1> ]
1>d:\my documents\visual studio 2005\projects\addtest\addtest\addtest.cpp(84) : error C2664: “GetShortPathNameW”: 不能将参数 1 从“char [260]”转换为“LPCWSTR”
1> 与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换
1>d:\my documents\visual studio 2005\projects\addtest\addtest\addtest.cpp(87) : error C2664: “RegOpenKeyExW”: 不能将参数 2 从“const char [46]”转换为“LPCWSTR”
1> 与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换
1>d:\my documents\visual studio 2005\projects\addtest\addtest\addtest.cpp(99) : error C2664: “RegSetValueExW”: 不能将参数 2 从“const char [24]”转换为“LPCWSTR”
1> 与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换
1>d:\my documents\visual studio 2005\projects\addtest\addtest\addtest.cpp(114) : error C2440: “初始化”: 无法从“const char [8]”转换为“ATL::CStringT<BaseType,StringTraits>”
1> with
1> [
1> BaseType=wchar_t,
1> StringTraits=StrTraitMFC_DLL<wchar_t>
1> ]
1> class“ATL::CStringT<BaseType,StringTraits>”的构造函数声明为“explicit”
1r_t>
1> ]
ts=StrTraitMFC_DLL<wchar_t>
1> ]
1
1>
1> d:\program files\microsoft visual studio 8\vc\include\comutil.h(139): 或“_bstr_t operator +(const char *,const _bstr_t &)”
1> d:\program files\microsoft visual studio 8\vc\include\comutil.h(140): 或“_bstr_t operator +(const wchar_t *,const _bstr_t &)”
1> 试图匹配参数列表“(const char [11], CString)”时
1>d:\my documents\visual studio 2005\projects\addtest\addtest\outlookbutton.cpp(324) : error C2678: 二进制“+”: 没有找到接受“const char [10]”类型的左操作数的运算符(或没有可接受的转换)
1> d:\program files\microsoft visual studio 8\vc\atlmfc\include\atlsimpstr.h(666): 可能是“ATL::CSimpleStringT<BaseType,t_bMFCDLL> ATL::CSimpleStringT<BaseType,t_bMFCDLL>::operator +(const ATL::CSimpleStringT<BaseType,t_bMFCDLL> &,const ATL::CSimpleStringT<BaseType,t_bMFCDLL> &)”[通过使用参数相关的查找找到]
1> with
1> [
1> BaseType=wchar_t,
1> t_bMFCDLL=true
1> ]
1> d:\program files\microsoft visual studio 8\vc\atlmfc\include\atlsimpstr.h(677): 或“ATL::CSimpleStringT<BaseType,t_bMFCDLL> ATL::CSimpleStringT<BaseType,t_bMFCDLL>::operator +(const ATL::CSimpleStringT<BaseType,t_bMFCDLL> &,const wchar_t *)”[使用参数相关的查找找到]
1> with
1> [
1> BaseType=wchar_t,
1> t_bMFCDLL=true
1> ]
1> d:\program files\microsoft visual studio 8\vc\atlmfc\include\atlsimpstr.h(688): 或“ATL::CSimpleStringT<BaseType,t_bMFCDLL> ATL::CSimpleStringT<BaseType,t_bMFCDLL>::operator +(const wchar_t *,const ATL::CSimpleStringT<BaseType,t_bMFCDLL> &)”[使用参数相关的查找找到]
1> with
1> [
1> BaseType=wchar_t,
1> t_bMFCDLL=true
1> ]
1> d:\program files\microsoft visual studio 8\vc\atlmfc\include\cstringt.h(2289): 或“ATL::CStringT<BaseType,StringTraits> ATL::CStringT<BaseType,StringTraits>::operator +(const ATL::CStringT<BaseType,StringTraits> &,const ATL::CStringT<BaseType,StringTraits> &)”[使用参数相关的查找找到]
1> with
1> [
1> BaseType=wchar_t,
1>
1aitMFC_DLL<wchar_t>
1> ]
1> d:\program files\microsoft visual studio 8\vc\atlmfc\include\cstringt.h(2346): 或“ATL::CStringT<BaseType,StringTraits> ATL::CStringT<BaseType,StringTraits>::operator +(char,const ATL::CStringT<BaseType,StringTraits> &)”[使用参数相关的查找找到]
1> with
1> [
1> BaseType=wchar_t,
1> StringTraits=StrTraitMFC_DLL<wchar_t>
1> ]
1> d:\program files\microsoft visual studio 8\vc\include\comutil.h(139): 或“_bstr_t operator +(const char *,const _bstr_t &)”
1> d:\program files\microsoft visual studio 8\vc\include\comutil.h(140): 或“_bstr_t operator +(const wchar_t *,const _bstr_t &)”
1> 试图匹配参数列表“(const char [14], CString)”时
1>d:\my documents\visual studio 2005\projects\addtest\addtest\outlookbutton.cpp(336) : error C2678: 二进制“+”: 没有找到接受“const char [10]”类型的左操作数的运算符(或没有可接受的转换)
1> d:\program files\microsoft visual studio 8\vc\atlmfc\include\atlsimpstr.h(666): 可能是“ATL::CSimpleStringT<BaseType,t_bMFCDLL> ATL::CSimpleStringT<BaseType,t_bMFCDLL>::operator +(const ATL::CSimpleStringT<BaseType,t_bMFCDLL> &,const ATL::CSimpleStringT<BaseType,t_bMFCDLL> &)”[通过使用参数相关的查找找到]
1> with
1> [
1> BaseType=wchar_t,
1> t_bMFCDLL=true
1> ]
1> d:\program files\microsoft visual studio 8\vc\atlmfc\include\atlsimpstr.h(677): 或“ATL::CSimpleStringT<BaseType,t_bMFCDLL> ATL::CSimpleStringT<BaseType,t_bMFCDLL>::operator +(const ATL::CSimpleStringT<BaseType,t_bMFCDLL> &,const wchar_t *)”[使用参数相关的查找找到]
1> with
1> [
1> BaseType=wchar_t,
1> t_bMFCDLL=true
1> ]
1> d:\program files\microsoft visual studio 8\vc\atlmfc\include\atlsimpstr.h(688): 或“ATL::CSimpleStringT<BaseType,t_bMFCDLL> ATL::CSimpleStringT<BaseType,t_bMFCDLL>::operator +(const wchar_t *,const ATL::CSimpleStringT<BaseType,t_bMFCDLL> &)”[使用参数相关的查找找到]
1> with
1> ,t_bMFCDLL> &,const wchar_t *)”[使用参数相关的查找找到]
1> with
1> [
1>
1> d:\program files\microsoft visual studio 8\vc\atlmfc\include\cstringt.h(2289): 或“ATL::CStringT<BaseType,StringTraits> ATL::CStringT<BaseType,StringTraits>::operator +(const ATL::CStringT<BaseType,StringTraits> &,const ATL::CStringT<BaseType,StringTraits> &)”[使用参数相关的查找找到]
1> with
1> [
1> BaseType=wchar_t,
1> StringTraits=StrTraitMFC_DLL<wchar_t>
1> ]
1
1> with
1> [
1> BaseType=wchar_t,
1> t_bMFCDLL=true
1> ]
1> d:\program files\microsoft visual studio 8\vc\atlmfc\include\atlsimpstr.h(677): 或“ATL::CSimpleStringT<BaseType,t_bMFCDLL> ATL::CSimpleStringT<BaseType,t_bMFCDLL>::operator +(const ATL::CSimpleStringT<BaseType,t_bMFCDLL> &,const wchar_t *)”[使用参数相关的查找找到]
1> with
1> [
1> BaseType=wchar_t,
1> t_bMFCDLL=true
1> ]
1> d:\program files\microsoft visual studio 8\vc\atlmfc\include\atlsimpstr.h(688): 或“ATL::CSimpleStringT<BaseType,t_bMFCDLL> ATL::CSimpleStringT<BaseType,t_bMFCDLL>::operator +(const wchar_t *,const ATL::CSimpleStringT<BaseType,t_bMFCDLL> &)”[使用参数相关的查找找到]
1> with
1> [
1> BaseType=wchar_t,
1> t_bMFCDLL=true
1> ]
1> d:\program files\microsoft visual studio 8\vc\atlmfc\include\cstringt.h(2289): 或“ATL::CStringT<BaseType,StringTraits> ATL::CStringT<BaseType,StringTraits>::operator +(const ATL::CStringT<BaseType,StringTraits> &,const ATL::CStringT<BaseType,StringTraits> &)”[使用参数相关的查找找到]
1> with
1> [
tringTraits> &)”[使用参数相关的查找找到]
1> with
1> [
1> BaseType=wchar_t,
1> StringTraits=StrTraitMFC_DLL<wchar_t>
1> ]
1> d:\program files\microsoft visual studio 8\vc\include\comutil.h(139): 或“_bstr_t operator +(const char *,const _bstr_t &)”
1> d:\program files\microsoft visual studio 8\vc\include\comutil.h(140): 或“_bstr_t operator +(const wchar_t *,const _bstr_t &)”
1> 试图匹配参数列表“(const char [7], CString)”时
1>d:\my documents\visual studio 2005\projects\addtest\addtest\outlookbutton.cpp(356) : error C2678: 二进制“+”: 没有找到接受“const char [10]”类型的左操作数的运算符(或没有可接受的转换)
1> d:\program files\microsoft visual studio 8\vc\atlmfc\include\atlsimpstr.h(666): 可能是“ATL::CSimpleStringT<BaseType,t_bMFCDLL> ATL::CSimpleStringT<BaseType,t_bMFCDLL>::operator +(const ATL::CSimpleStringT<BaseType,t_bMFCDLL> &,const ATL::CSimpleStringT<BaseType,t_bMFCDLL> &)”[通过使用参数相关的查找找到]
1> with
1>
1> ]
1> d:\program files\microsoft visual studio 8\vc\atlmfc\include\cstringt.h(2307): 或“ATL::CStringT<BaseType,StringTraits> ATL::CStringT<BaseType,StringTraits>::operator +(const wchar_t *,const ATL::CStringT<BaseType,StringTraits> &)”[使用参数相关的查找找到]
1> with
1> [
1> BaseType=wchar_t,
1> StringTraits=StrTraitMFC_DLL<wchar_t>
1> ]
1>正在生成代码...
1>生成日志保存在“file://d:\My Documents\Visual Studio 2005\Projects\Addtest\Addtest\Debug\BuildLog.htm”
1>Addtest - 44 个错误,0 个警告
========== 全部重新生成: 0 已成功, 1 已失败, 0 已跳过 ==========
#14
怎么转化哦,不会用哦
#15
CString EscapeSQLString(CString s) {
s.Replace(L"'", L"''");
return s;
}
这里为什么必须是宽字符,如果就是s.Replace("'", "''");行不行?
字符集就别改了
s.Replace(L"'", L"''");
return s;
}
这里为什么必须是宽字符,如果就是s.Replace("'", "''");行不行?
字符集就别改了
#16
因为s已经默认成宽字符了,所以它的参数也要一致
#17
不加L ,编译没出错。不过我记得前几次不加L 编译都出错了
#18
在属性中将character set改为多字节,别用unicode试试看
#19
#1
调用 WideCharToMultiByte 先将宽字符转化一下即可!
#2
参数传错了。。。。
用楼上的方法试试!!!!!
用楼上的方法试试!!!!!
#3
Replace那行代码贴出来看下
#4
在属性中将character set改为多字节,别用unicode试试看
#5
修改字符集
#6
直接用CStringW
#7
字符集要一致
#8
用CStringA
#9
你把使用的代码贴出来!
不过从你贴出的错误现象,应该就是参数类型错误问题,CStringT原型要求的是char,你就想办法转换成这个类型!
不过从你贴出的错误现象,应该就是参数类型错误问题,CStringT原型要求的是char,你就想办法转换成这个类型!
#10
CString EscapeSQLString(CString s) {
s.Replace(L"'", L"''");
return s;
}
附上代码
s.Replace(L"'", L"''");
return s;
}
附上代码
#11
直接用CStringW 或者修改工程的字符集为 Unicode
#12
把工程的字符集改成Unicode后,出现了其他问题,而且更多啊
#13
1>------ 已启动全部重新生成: 项目: Addtest, 配置: Debug Win32 ------
1>正在删除项目“Addtest”(配置“Debug|Win32”)的中间文件和输出文件
1>正在编译...
1>stdafx.cpp
1>正在编译...
1>Addtest.cpp
1>d:\my documents\visual studio 2005\projects\addtest\addtest\addtest.cpp(79) : error C2664: “GetModuleFileNameW”: 不能将参数 2 从“char [260]”转换为“LPWCH”
1> 与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换
1>d:\my documents\visual studio 2005\projects\addtest\addtest\addtest.cpp(82) : error C2440: “初始化”: 无法从“const char [8]”转换为“ATL::CStringT<BaseType,StringTraits>”
1> with
1> [
1> BaseType=wchar_t,
1> StringTraits=StrTraitMFC_DLL<wchar_t>
1> ]
1> class“ATL::CStringT<BaseType,StringTraits>”的构造函数声明为“explicit”
1> with
1> [
1> BaseType=wchar_t,
1> StringTraits=StrTraitMFC_DLL<wchar_t>
1> ]
1>d:\my documents\visual studio 2005\projects\addtest\addtest\addtest.cpp(84) : error C2664: “GetShortPathNameW”: 不能将参数 1 从“char [260]”转换为“LPCWSTR”
1> 与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换
1>d:\my documents\visual studio 2005\projects\addtest\addtest\addtest.cpp(87) : error C2664: “RegOpenKeyExW”: 不能将参数 2 从“const char [46]”转换为“LPCWSTR”
1> 与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换
1>d:\my documents\visual studio 2005\projects\addtest\addtest\addtest.cpp(99) : error C2664: “RegSetValueExW”: 不能将参数 2 从“const char [24]”转换为“LPCWSTR”
1> 与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换
1>d:\my documents\visual studio 2005\projects\addtest\addtest\addtest.cpp(114) : error C2440: “初始化”: 无法从“const char [8]”转换为“ATL::CStringT<BaseType,StringTraits>”
1> with
1> [
1> BaseType=wchar_t,
1> StringTraits=StrTraitMFC_DLL<wchar_t>
1> ]
1> class“ATL::CStringT<BaseType,StringTraits>”的构造函数声明为“explicit”
1r_t>
1> ]
ts=StrTraitMFC_DLL<wchar_t>
1> ]
1
1>
1> d:\program files\microsoft visual studio 8\vc\include\comutil.h(139): 或“_bstr_t operator +(const char *,const _bstr_t &)”
1> d:\program files\microsoft visual studio 8\vc\include\comutil.h(140): 或“_bstr_t operator +(const wchar_t *,const _bstr_t &)”
1> 试图匹配参数列表“(const char [11], CString)”时
1>d:\my documents\visual studio 2005\projects\addtest\addtest\outlookbutton.cpp(324) : error C2678: 二进制“+”: 没有找到接受“const char [10]”类型的左操作数的运算符(或没有可接受的转换)
1> d:\program files\microsoft visual studio 8\vc\atlmfc\include\atlsimpstr.h(666): 可能是“ATL::CSimpleStringT<BaseType,t_bMFCDLL> ATL::CSimpleStringT<BaseType,t_bMFCDLL>::operator +(const ATL::CSimpleStringT<BaseType,t_bMFCDLL> &,const ATL::CSimpleStringT<BaseType,t_bMFCDLL> &)”[通过使用参数相关的查找找到]
1> with
1> [
1> BaseType=wchar_t,
1> t_bMFCDLL=true
1> ]
1> d:\program files\microsoft visual studio 8\vc\atlmfc\include\atlsimpstr.h(677): 或“ATL::CSimpleStringT<BaseType,t_bMFCDLL> ATL::CSimpleStringT<BaseType,t_bMFCDLL>::operator +(const ATL::CSimpleStringT<BaseType,t_bMFCDLL> &,const wchar_t *)”[使用参数相关的查找找到]
1> with
1> [
1> BaseType=wchar_t,
1> t_bMFCDLL=true
1> ]
1> d:\program files\microsoft visual studio 8\vc\atlmfc\include\atlsimpstr.h(688): 或“ATL::CSimpleStringT<BaseType,t_bMFCDLL> ATL::CSimpleStringT<BaseType,t_bMFCDLL>::operator +(const wchar_t *,const ATL::CSimpleStringT<BaseType,t_bMFCDLL> &)”[使用参数相关的查找找到]
1> with
1> [
1> BaseType=wchar_t,
1> t_bMFCDLL=true
1> ]
1> d:\program files\microsoft visual studio 8\vc\atlmfc\include\cstringt.h(2289): 或“ATL::CStringT<BaseType,StringTraits> ATL::CStringT<BaseType,StringTraits>::operator +(const ATL::CStringT<BaseType,StringTraits> &,const ATL::CStringT<BaseType,StringTraits> &)”[使用参数相关的查找找到]
1> with
1> [
1> BaseType=wchar_t,
1>
1aitMFC_DLL<wchar_t>
1> ]
1> d:\program files\microsoft visual studio 8\vc\atlmfc\include\cstringt.h(2346): 或“ATL::CStringT<BaseType,StringTraits> ATL::CStringT<BaseType,StringTraits>::operator +(char,const ATL::CStringT<BaseType,StringTraits> &)”[使用参数相关的查找找到]
1> with
1> [
1> BaseType=wchar_t,
1> StringTraits=StrTraitMFC_DLL<wchar_t>
1> ]
1> d:\program files\microsoft visual studio 8\vc\include\comutil.h(139): 或“_bstr_t operator +(const char *,const _bstr_t &)”
1> d:\program files\microsoft visual studio 8\vc\include\comutil.h(140): 或“_bstr_t operator +(const wchar_t *,const _bstr_t &)”
1> 试图匹配参数列表“(const char [14], CString)”时
1>d:\my documents\visual studio 2005\projects\addtest\addtest\outlookbutton.cpp(336) : error C2678: 二进制“+”: 没有找到接受“const char [10]”类型的左操作数的运算符(或没有可接受的转换)
1> d:\program files\microsoft visual studio 8\vc\atlmfc\include\atlsimpstr.h(666): 可能是“ATL::CSimpleStringT<BaseType,t_bMFCDLL> ATL::CSimpleStringT<BaseType,t_bMFCDLL>::operator +(const ATL::CSimpleStringT<BaseType,t_bMFCDLL> &,const ATL::CSimpleStringT<BaseType,t_bMFCDLL> &)”[通过使用参数相关的查找找到]
1> with
1> [
1> BaseType=wchar_t,
1> t_bMFCDLL=true
1> ]
1> d:\program files\microsoft visual studio 8\vc\atlmfc\include\atlsimpstr.h(677): 或“ATL::CSimpleStringT<BaseType,t_bMFCDLL> ATL::CSimpleStringT<BaseType,t_bMFCDLL>::operator +(const ATL::CSimpleStringT<BaseType,t_bMFCDLL> &,const wchar_t *)”[使用参数相关的查找找到]
1> with
1> [
1> BaseType=wchar_t,
1> t_bMFCDLL=true
1> ]
1> d:\program files\microsoft visual studio 8\vc\atlmfc\include\atlsimpstr.h(688): 或“ATL::CSimpleStringT<BaseType,t_bMFCDLL> ATL::CSimpleStringT<BaseType,t_bMFCDLL>::operator +(const wchar_t *,const ATL::CSimpleStringT<BaseType,t_bMFCDLL> &)”[使用参数相关的查找找到]
1> with
1> ,t_bMFCDLL> &,const wchar_t *)”[使用参数相关的查找找到]
1> with
1> [
1>
1> d:\program files\microsoft visual studio 8\vc\atlmfc\include\cstringt.h(2289): 或“ATL::CStringT<BaseType,StringTraits> ATL::CStringT<BaseType,StringTraits>::operator +(const ATL::CStringT<BaseType,StringTraits> &,const ATL::CStringT<BaseType,StringTraits> &)”[使用参数相关的查找找到]
1> with
1> [
1> BaseType=wchar_t,
1> StringTraits=StrTraitMFC_DLL<wchar_t>
1> ]
1
1> with
1> [
1> BaseType=wchar_t,
1> t_bMFCDLL=true
1> ]
1> d:\program files\microsoft visual studio 8\vc\atlmfc\include\atlsimpstr.h(677): 或“ATL::CSimpleStringT<BaseType,t_bMFCDLL> ATL::CSimpleStringT<BaseType,t_bMFCDLL>::operator +(const ATL::CSimpleStringT<BaseType,t_bMFCDLL> &,const wchar_t *)”[使用参数相关的查找找到]
1> with
1> [
1> BaseType=wchar_t,
1> t_bMFCDLL=true
1> ]
1> d:\program files\microsoft visual studio 8\vc\atlmfc\include\atlsimpstr.h(688): 或“ATL::CSimpleStringT<BaseType,t_bMFCDLL> ATL::CSimpleStringT<BaseType,t_bMFCDLL>::operator +(const wchar_t *,const ATL::CSimpleStringT<BaseType,t_bMFCDLL> &)”[使用参数相关的查找找到]
1> with
1> [
1> BaseType=wchar_t,
1> t_bMFCDLL=true
1> ]
1> d:\program files\microsoft visual studio 8\vc\atlmfc\include\cstringt.h(2289): 或“ATL::CStringT<BaseType,StringTraits> ATL::CStringT<BaseType,StringTraits>::operator +(const ATL::CStringT<BaseType,StringTraits> &,const ATL::CStringT<BaseType,StringTraits> &)”[使用参数相关的查找找到]
1> with
1> [
tringTraits> &)”[使用参数相关的查找找到]
1> with
1> [
1> BaseType=wchar_t,
1> StringTraits=StrTraitMFC_DLL<wchar_t>
1> ]
1> d:\program files\microsoft visual studio 8\vc\include\comutil.h(139): 或“_bstr_t operator +(const char *,const _bstr_t &)”
1> d:\program files\microsoft visual studio 8\vc\include\comutil.h(140): 或“_bstr_t operator +(const wchar_t *,const _bstr_t &)”
1> 试图匹配参数列表“(const char [7], CString)”时
1>d:\my documents\visual studio 2005\projects\addtest\addtest\outlookbutton.cpp(356) : error C2678: 二进制“+”: 没有找到接受“const char [10]”类型的左操作数的运算符(或没有可接受的转换)
1> d:\program files\microsoft visual studio 8\vc\atlmfc\include\atlsimpstr.h(666): 可能是“ATL::CSimpleStringT<BaseType,t_bMFCDLL> ATL::CSimpleStringT<BaseType,t_bMFCDLL>::operator +(const ATL::CSimpleStringT<BaseType,t_bMFCDLL> &,const ATL::CSimpleStringT<BaseType,t_bMFCDLL> &)”[通过使用参数相关的查找找到]
1> with
1>
1> ]
1> d:\program files\microsoft visual studio 8\vc\atlmfc\include\cstringt.h(2307): 或“ATL::CStringT<BaseType,StringTraits> ATL::CStringT<BaseType,StringTraits>::operator +(const wchar_t *,const ATL::CStringT<BaseType,StringTraits> &)”[使用参数相关的查找找到]
1> with
1> [
1> BaseType=wchar_t,
1> StringTraits=StrTraitMFC_DLL<wchar_t>
1> ]
1>正在生成代码...
1>生成日志保存在“file://d:\My Documents\Visual Studio 2005\Projects\Addtest\Addtest\Debug\BuildLog.htm”
1>Addtest - 44 个错误,0 个警告
========== 全部重新生成: 0 已成功, 1 已失败, 0 已跳过 ==========
1>正在删除项目“Addtest”(配置“Debug|Win32”)的中间文件和输出文件
1>正在编译...
1>stdafx.cpp
1>正在编译...
1>Addtest.cpp
1>d:\my documents\visual studio 2005\projects\addtest\addtest\addtest.cpp(79) : error C2664: “GetModuleFileNameW”: 不能将参数 2 从“char [260]”转换为“LPWCH”
1> 与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换
1>d:\my documents\visual studio 2005\projects\addtest\addtest\addtest.cpp(82) : error C2440: “初始化”: 无法从“const char [8]”转换为“ATL::CStringT<BaseType,StringTraits>”
1> with
1> [
1> BaseType=wchar_t,
1> StringTraits=StrTraitMFC_DLL<wchar_t>
1> ]
1> class“ATL::CStringT<BaseType,StringTraits>”的构造函数声明为“explicit”
1> with
1> [
1> BaseType=wchar_t,
1> StringTraits=StrTraitMFC_DLL<wchar_t>
1> ]
1>d:\my documents\visual studio 2005\projects\addtest\addtest\addtest.cpp(84) : error C2664: “GetShortPathNameW”: 不能将参数 1 从“char [260]”转换为“LPCWSTR”
1> 与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换
1>d:\my documents\visual studio 2005\projects\addtest\addtest\addtest.cpp(87) : error C2664: “RegOpenKeyExW”: 不能将参数 2 从“const char [46]”转换为“LPCWSTR”
1> 与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换
1>d:\my documents\visual studio 2005\projects\addtest\addtest\addtest.cpp(99) : error C2664: “RegSetValueExW”: 不能将参数 2 从“const char [24]”转换为“LPCWSTR”
1> 与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换
1>d:\my documents\visual studio 2005\projects\addtest\addtest\addtest.cpp(114) : error C2440: “初始化”: 无法从“const char [8]”转换为“ATL::CStringT<BaseType,StringTraits>”
1> with
1> [
1> BaseType=wchar_t,
1> StringTraits=StrTraitMFC_DLL<wchar_t>
1> ]
1> class“ATL::CStringT<BaseType,StringTraits>”的构造函数声明为“explicit”
1r_t>
1> ]
ts=StrTraitMFC_DLL<wchar_t>
1> ]
1
1>
1> d:\program files\microsoft visual studio 8\vc\include\comutil.h(139): 或“_bstr_t operator +(const char *,const _bstr_t &)”
1> d:\program files\microsoft visual studio 8\vc\include\comutil.h(140): 或“_bstr_t operator +(const wchar_t *,const _bstr_t &)”
1> 试图匹配参数列表“(const char [11], CString)”时
1>d:\my documents\visual studio 2005\projects\addtest\addtest\outlookbutton.cpp(324) : error C2678: 二进制“+”: 没有找到接受“const char [10]”类型的左操作数的运算符(或没有可接受的转换)
1> d:\program files\microsoft visual studio 8\vc\atlmfc\include\atlsimpstr.h(666): 可能是“ATL::CSimpleStringT<BaseType,t_bMFCDLL> ATL::CSimpleStringT<BaseType,t_bMFCDLL>::operator +(const ATL::CSimpleStringT<BaseType,t_bMFCDLL> &,const ATL::CSimpleStringT<BaseType,t_bMFCDLL> &)”[通过使用参数相关的查找找到]
1> with
1> [
1> BaseType=wchar_t,
1> t_bMFCDLL=true
1> ]
1> d:\program files\microsoft visual studio 8\vc\atlmfc\include\atlsimpstr.h(677): 或“ATL::CSimpleStringT<BaseType,t_bMFCDLL> ATL::CSimpleStringT<BaseType,t_bMFCDLL>::operator +(const ATL::CSimpleStringT<BaseType,t_bMFCDLL> &,const wchar_t *)”[使用参数相关的查找找到]
1> with
1> [
1> BaseType=wchar_t,
1> t_bMFCDLL=true
1> ]
1> d:\program files\microsoft visual studio 8\vc\atlmfc\include\atlsimpstr.h(688): 或“ATL::CSimpleStringT<BaseType,t_bMFCDLL> ATL::CSimpleStringT<BaseType,t_bMFCDLL>::operator +(const wchar_t *,const ATL::CSimpleStringT<BaseType,t_bMFCDLL> &)”[使用参数相关的查找找到]
1> with
1> [
1> BaseType=wchar_t,
1> t_bMFCDLL=true
1> ]
1> d:\program files\microsoft visual studio 8\vc\atlmfc\include\cstringt.h(2289): 或“ATL::CStringT<BaseType,StringTraits> ATL::CStringT<BaseType,StringTraits>::operator +(const ATL::CStringT<BaseType,StringTraits> &,const ATL::CStringT<BaseType,StringTraits> &)”[使用参数相关的查找找到]
1> with
1> [
1> BaseType=wchar_t,
1>
1aitMFC_DLL<wchar_t>
1> ]
1> d:\program files\microsoft visual studio 8\vc\atlmfc\include\cstringt.h(2346): 或“ATL::CStringT<BaseType,StringTraits> ATL::CStringT<BaseType,StringTraits>::operator +(char,const ATL::CStringT<BaseType,StringTraits> &)”[使用参数相关的查找找到]
1> with
1> [
1> BaseType=wchar_t,
1> StringTraits=StrTraitMFC_DLL<wchar_t>
1> ]
1> d:\program files\microsoft visual studio 8\vc\include\comutil.h(139): 或“_bstr_t operator +(const char *,const _bstr_t &)”
1> d:\program files\microsoft visual studio 8\vc\include\comutil.h(140): 或“_bstr_t operator +(const wchar_t *,const _bstr_t &)”
1> 试图匹配参数列表“(const char [14], CString)”时
1>d:\my documents\visual studio 2005\projects\addtest\addtest\outlookbutton.cpp(336) : error C2678: 二进制“+”: 没有找到接受“const char [10]”类型的左操作数的运算符(或没有可接受的转换)
1> d:\program files\microsoft visual studio 8\vc\atlmfc\include\atlsimpstr.h(666): 可能是“ATL::CSimpleStringT<BaseType,t_bMFCDLL> ATL::CSimpleStringT<BaseType,t_bMFCDLL>::operator +(const ATL::CSimpleStringT<BaseType,t_bMFCDLL> &,const ATL::CSimpleStringT<BaseType,t_bMFCDLL> &)”[通过使用参数相关的查找找到]
1> with
1> [
1> BaseType=wchar_t,
1> t_bMFCDLL=true
1> ]
1> d:\program files\microsoft visual studio 8\vc\atlmfc\include\atlsimpstr.h(677): 或“ATL::CSimpleStringT<BaseType,t_bMFCDLL> ATL::CSimpleStringT<BaseType,t_bMFCDLL>::operator +(const ATL::CSimpleStringT<BaseType,t_bMFCDLL> &,const wchar_t *)”[使用参数相关的查找找到]
1> with
1> [
1> BaseType=wchar_t,
1> t_bMFCDLL=true
1> ]
1> d:\program files\microsoft visual studio 8\vc\atlmfc\include\atlsimpstr.h(688): 或“ATL::CSimpleStringT<BaseType,t_bMFCDLL> ATL::CSimpleStringT<BaseType,t_bMFCDLL>::operator +(const wchar_t *,const ATL::CSimpleStringT<BaseType,t_bMFCDLL> &)”[使用参数相关的查找找到]
1> with
1> ,t_bMFCDLL> &,const wchar_t *)”[使用参数相关的查找找到]
1> with
1> [
1>
1> d:\program files\microsoft visual studio 8\vc\atlmfc\include\cstringt.h(2289): 或“ATL::CStringT<BaseType,StringTraits> ATL::CStringT<BaseType,StringTraits>::operator +(const ATL::CStringT<BaseType,StringTraits> &,const ATL::CStringT<BaseType,StringTraits> &)”[使用参数相关的查找找到]
1> with
1> [
1> BaseType=wchar_t,
1> StringTraits=StrTraitMFC_DLL<wchar_t>
1> ]
1
1> with
1> [
1> BaseType=wchar_t,
1> t_bMFCDLL=true
1> ]
1> d:\program files\microsoft visual studio 8\vc\atlmfc\include\atlsimpstr.h(677): 或“ATL::CSimpleStringT<BaseType,t_bMFCDLL> ATL::CSimpleStringT<BaseType,t_bMFCDLL>::operator +(const ATL::CSimpleStringT<BaseType,t_bMFCDLL> &,const wchar_t *)”[使用参数相关的查找找到]
1> with
1> [
1> BaseType=wchar_t,
1> t_bMFCDLL=true
1> ]
1> d:\program files\microsoft visual studio 8\vc\atlmfc\include\atlsimpstr.h(688): 或“ATL::CSimpleStringT<BaseType,t_bMFCDLL> ATL::CSimpleStringT<BaseType,t_bMFCDLL>::operator +(const wchar_t *,const ATL::CSimpleStringT<BaseType,t_bMFCDLL> &)”[使用参数相关的查找找到]
1> with
1> [
1> BaseType=wchar_t,
1> t_bMFCDLL=true
1> ]
1> d:\program files\microsoft visual studio 8\vc\atlmfc\include\cstringt.h(2289): 或“ATL::CStringT<BaseType,StringTraits> ATL::CStringT<BaseType,StringTraits>::operator +(const ATL::CStringT<BaseType,StringTraits> &,const ATL::CStringT<BaseType,StringTraits> &)”[使用参数相关的查找找到]
1> with
1> [
tringTraits> &)”[使用参数相关的查找找到]
1> with
1> [
1> BaseType=wchar_t,
1> StringTraits=StrTraitMFC_DLL<wchar_t>
1> ]
1> d:\program files\microsoft visual studio 8\vc\include\comutil.h(139): 或“_bstr_t operator +(const char *,const _bstr_t &)”
1> d:\program files\microsoft visual studio 8\vc\include\comutil.h(140): 或“_bstr_t operator +(const wchar_t *,const _bstr_t &)”
1> 试图匹配参数列表“(const char [7], CString)”时
1>d:\my documents\visual studio 2005\projects\addtest\addtest\outlookbutton.cpp(356) : error C2678: 二进制“+”: 没有找到接受“const char [10]”类型的左操作数的运算符(或没有可接受的转换)
1> d:\program files\microsoft visual studio 8\vc\atlmfc\include\atlsimpstr.h(666): 可能是“ATL::CSimpleStringT<BaseType,t_bMFCDLL> ATL::CSimpleStringT<BaseType,t_bMFCDLL>::operator +(const ATL::CSimpleStringT<BaseType,t_bMFCDLL> &,const ATL::CSimpleStringT<BaseType,t_bMFCDLL> &)”[通过使用参数相关的查找找到]
1> with
1>
1> ]
1> d:\program files\microsoft visual studio 8\vc\atlmfc\include\cstringt.h(2307): 或“ATL::CStringT<BaseType,StringTraits> ATL::CStringT<BaseType,StringTraits>::operator +(const wchar_t *,const ATL::CStringT<BaseType,StringTraits> &)”[使用参数相关的查找找到]
1> with
1> [
1> BaseType=wchar_t,
1> StringTraits=StrTraitMFC_DLL<wchar_t>
1> ]
1>正在生成代码...
1>生成日志保存在“file://d:\My Documents\Visual Studio 2005\Projects\Addtest\Addtest\Debug\BuildLog.htm”
1>Addtest - 44 个错误,0 个警告
========== 全部重新生成: 0 已成功, 1 已失败, 0 已跳过 ==========
#14
怎么转化哦,不会用哦
#15
CString EscapeSQLString(CString s) {
s.Replace(L"'", L"''");
return s;
}
这里为什么必须是宽字符,如果就是s.Replace("'", "''");行不行?
字符集就别改了
s.Replace(L"'", L"''");
return s;
}
这里为什么必须是宽字符,如果就是s.Replace("'", "''");行不行?
字符集就别改了
#16
因为s已经默认成宽字符了,所以它的参数也要一致
#17
不加L ,编译没出错。不过我记得前几次不加L 编译都出错了
#18
在属性中将character set改为多字节,别用unicode试试看