怎么实现将VC++6.0的字符串赋值为中文,然后在用ODBC操作将这个字符串的内容存到数据表中
如何实现将VC++6.0的字符串赋值为中文,然后在用ODBC操作将这个字符串的内容存到数据表中?
将中文字符串存入MySQL数据库的表中
例如:
Cstring m_name="水果";
m_pSet->Open();
m_pSet->AddNew(); //增加新数据
m_pSet->m_Name=m_name;
m_pSet->Update(); //更新记录集,将新记录存入数据源
m_pSet->Requery(); //刷新记录集,并使记录集指针回到第一条记录
m_pSet->Close();
运行后报错:mysql问题 Incorrect string value:"\ \ \ \ \"for column'Name at row 1,
msql都设置了gbk,问题出在哪里呢?
------解决思路----------------------
好像是没有字段名称。
你写了要存水果,但是从代码看好像没有看到要存到哪个字段下面。
------解决思路----------------------
Cstring m_name="shuiguo";
试试
感觉还是字符集的问题
------解决思路----------------------
改成类似这样
CString m_strName = _T("水果");
try
{
_variant_t vName;
m_pRecordset->AddNew();
//保存数据
if(!m_pRecordset->adoEOF)
{
vName = m_strName;
_variant_t strName = "name";//数据表字段名
m_pRecordset->PutCollect(strName, vName);
}
m_pRecordset->Update();
}
catch (_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
修改默认字符集
修改mysql的my.ini文件中的字符集键值
default-character-set = utf8
character-set-server = utf8
将中文字符串存入MySQL数据库的表中
例如:
Cstring m_name="水果";
m_pSet->Open();
m_pSet->AddNew(); //增加新数据
m_pSet->m_Name=m_name;
m_pSet->Update(); //更新记录集,将新记录存入数据源
m_pSet->Requery(); //刷新记录集,并使记录集指针回到第一条记录
m_pSet->Close();
运行后报错:mysql问题 Incorrect string value:"\ \ \ \ \"for column'Name at row 1,
msql都设置了gbk,问题出在哪里呢?
------解决思路----------------------
好像是没有字段名称。
你写了要存水果,但是从代码看好像没有看到要存到哪个字段下面。
------解决思路----------------------
Cstring m_name="shuiguo";
试试
感觉还是字符集的问题
------解决思路----------------------
改成类似这样
CString m_strName = _T("水果");
try
{
_variant_t vName;
m_pRecordset->AddNew();
//保存数据
if(!m_pRecordset->adoEOF)
{
vName = m_strName;
_variant_t strName = "name";//数据表字段名
m_pRecordset->PutCollect(strName, vName);
}
m_pRecordset->Update();
}
catch (_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
修改默认字符集
修改mysql的my.ini文件中的字符集键值
default-character-set = utf8
character-set-server = utf8