本文由我司收集整编,推荐下载,如有疑问,请与我司联系mysql connector c++5.1 vs2008字符集的问题2012/08/30 10 请教一个问题:我用connectorc++连接mysql数据库,数据库的字符集都已经设好,都支持中文,但在VS2008中访问数据,中文都是乱码,请
问调用哪个函数可以进行正确的字符编码设置,用setclientoption好像不管用,代码如下:voidCParamConfig::InitDeviceListFromDatabase(CXListCtrl pList) { CSimpleDAO::LoadDatabaseSchemaInfo(m_dataSource,m_user,m_password); stringstrErrorMsg; mysql::MySQL_Driver*driver; //MySQL_Connection*con; //Statement*state; ResultSet*result; try { //initializedriver driver=sql::mysql::get_mysql_driver_instance(); //createlink //con=(MySQL_Connection*)driver- connect(m_dataSource,m_user,m_password); auto_ptr MySQL_Connection con((MySQL_Connection*)driver- connect(m_dataSource,m_user,m_password)); con- setClientOption(“charset”,”gb2312”); auto_ptr Statement state(con- createStatement()); //state=con- createStatement(); state- execute(“useWATCHLISTCLIENT”); //query result=state- executeQuery(“SELECT*FROMDVS”); //savecurrentdevicelisttoamap this- SaveDeviceList(result); while(result- previous()) ; //output //pList.SetColumnWidth(4,0); pList.SetListModified(TRUE); inti=0; CStringtmpstr; while(result- next()) { //deviceid intid=result- getInt(“ID”); //devicename SQLStringdeviceName=result- getString(“DVSNAME”); //devicetype intdeviceType=result- getInt(“DVS
mysql下载的vs库放在那个文件里TYPE”); SQLStringdeviceState=result- getString(“ONLINE”); intflag=result- getInt(“flag”); //pList.SetModified(i,0,FALSE); pList.InsertItem(i,deviceState- c_str()); pList.SetItemText(i,DVS_COLUMN_INDEX_TYPE,this- getDeviceType(deviceType)); pList.SetItemText(i,DVS_COLUMN_INDEX_NAME,static_cast LPCTSTR (_T(deviceName- c_str()))); pList.SetItemText(i,DVS_COLUMN_INDEX_FLAG,(flag==STATUS_FLAG_OPEN?_T
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论