读书人

C++连接数据库的有关问题

发布时间: 2013-04-09 16:45:09 作者: rapoo

C++连接数据库的问题
我用C++编了一个控制台程序来连接sql server 数据库。
再插入的过程中,虽然成功了,但是数据库中显示的是乱码。
请问,怎么解决?

strsqlInsert.Format(_T("insert into tb_goods(no,name, price) values('%d','%s', '%d')"),m_intNo,m_strName,m_intPrice);
m_pRecordset=m_pConnection->Execute(_bstr_t(strsqlInsert),NULL,adCmdText);

C++连接数据库的有关问题
c++ sql?server insert 乱码
[解决办法]

引用:
引用:引用:引用:m_strName 是什么类型?

char *

如果是char*,那不会出现乱码。你说你的程序是unicode,如果是 CString m_strName;那么会发生乱码。

这位高手,请继续讲下去,为啥“如果是 CStri……

因为unicode中CString内部保存的是wchar_t,而数据库保存的是char。
简单一点:
封装一个类
class CAdo
{
public:
CAdo();
~CAdo();
bool Connect(const string &db);
bool Execute(const string &sql,int &affect);
bool ExeQuery(const string &sql,vector<string> &header,vector<vector<string>> &result);
void Close();
};
不要使用CString,多使用string或wstring。

读书人网 >C++

热点推荐