各式数据库使用了格式的字符集,比如可能是utf8,gbk,unicode。
但为什么使用ADO在操作数据库时,并不需要特殊指定字符集。
就因为使用了_bstr_t。
首先,_bstr_t有一个向wchar_t*转换的转换函数;其次,对编译器而言,因为BSTR的定义,wchar_t*和BSTR有同样的含义;第三,_bstr_t内部含有的wchar_t*指向一片按BSTR的形式存储数据的内存。所以,即使没有文档说明,_bstr_t可以转换成BSTR,这种转换仍然可以正常进行。
各式数据库使用了格式的字符集,比如可能是utf8,gbk,unicode。
但为什么使用ADO在操作数据库时,并不需要特殊指定字符集。
就因为使用了_bstr_t。
首先,_bstr_t有一个向wchar_t*转换的转换函数;其次,对编译器而言,因为BSTR的定义,wchar_t*和BSTR有同样的含义;第三,_bstr_t内部含有的wchar_t*指向一片按BSTR的形式存储数据的内存。所以,即使没有文档说明,_bstr_t可以转换成BSTR,这种转换仍然可以正常进行。