#include "stdafx.h"#include#include#includesql_create_2(test,1, 2,
mysqlpp::sql_int, id,
mysqlpp::sql_blob_null, value)structSCurScoutList
{structSScoutInList
{
SScoutInList():
m_nScoutID(0),
m_bSigned(0)
{}intm_nScoutID;bytem_bSigned;
};
SCurScoutList()
{}
SScoutInList m_scoutList[8];
};intmain()
{
SCurScoutList mylist;
SCurScoutList mylist1;
mylist.m_scoutList[0].m_nScoutID = 106100043;
mylist.m_scoutList[1].m_nScoutID = 106100046;
mylist.m_scoutList[2].m_nScoutID = 106100050;
mylist.m_scoutList[3].m_nScoutID = 106100035;
mylist.m_scoutList[4].m_nScoutID = 106100020;
mylist.m_scoutList[5].m_nScoutID = 106100035;
mylist.m_scoutList[6].m_nScoutID = 106100005;
mylist.m_scoutList[7].m_nScoutID = 106100011;
mylist.m_scoutList[7].m_bSigned = 113;
std::stringstrData;
strData.assign(reinterpret_cast(&mylist), sizeof(mylist));char szbuffer[2046] = {0};
memcpy(szbuffer, (const char*)&mylist, sizeof(mylist));try{
mysqlpp::Connection conn(true);const std::string db="game";if (!conn.connect(db.c_str(), "127.0.0.1", "xt", "111111"))
{return 0;
}
mysqlpp::Query query=conn.query();
query<< "update test set value = \"" << mysqlpp::escape << strData << "\" where id =" << 1;
query.parse();
query.execute();
query.reset();
query<< "Select id, value from test where id=1";
query.parse();
mysqlpp::StoreQueryResult res=query.store();int nRowNum =res.num_rows();
mysqlpp::sql_blob_null blobScoutList= res[0]["value"];int nBlobLen =blobScoutList.data.length();int nsizeof = sizeof(SCurScoutList);if(nBlobLen == sizeof(SCurScoutList))
{
memcpy(&mylist1, blobScoutList.data.data(), nBlobLen);
}
}catch(const mysqlpp::Exception&er)
{
std::cout<< er.what() <<:endl>
}
getchar();return 0;
}