怎样odbc连接mysqld,用CDBVariant取出mediumblob字段的内容?
下面是我的程序片断,但是得到的数据总是不正确。请问怎么操作才对阿
rs.Open(AFX_DB_USE_DEFAULT_TYPE,"select content,local_id From precontent ");
//遍历每一个数据库中的关键词,在一篇文章中看看是否能够发现一些关键词。如果发现则将发现
//关键词的纪录对应的文章取出,作为帖子和宣传语句合成作为帖子发表。
while(rs.IsEOF()==false)
{
CString str;
CDBVariant iptype;
rs.GetFieldValue("content",iptype);
//CDBVariant varprice;
//str.Format("type:%s,avg(price):%f",strtype,varprice.m_dblVal);
//AfxMessageBox(str);
if(getword((char*)wordarray,&count,iptype.m_pstring)>0)
{
//CString *str1,str2;
//str1=ipadd.m_pstring;
//str2.Format("%i",iptype.m_iVal);
//paseripadd(*str1,*str2);
for(numword=0;numword<count;numword++)
{
//rs.Open(AFX_DB_USE_DEFAULT_TYPE,"select article,local_id From precontent where");
if(lonepage1->FindString(0,wordarray[numword])>0)
{//发现关键词。记录关键词所对应的文章。
CDBVariant id;
rs.GetFieldValue("local_id",id);
//int tmpi=(int)id.m_lVal;
sprintf(sqlstr,"select article,local_id From precontent where local_id=%d",id.m_lVal);
rs1.Open(AFX_DB_USE_DEFAULT_TYPE,sqlstr);
CDBVariant artic;
rs1.GetFieldValue("article",artic);
if(artic.m_dwType==DBVT_STRING)
{
//articbody.Format("%s",artic.m_pstring->GetBuffer(artic.m_pstring->GetLength()));
articlen=artic.m_pstring->GetLength();
articbody=(char *)malloc(articlen+1);
memcpy(articbody,artic.m_pstring->GetBuffer(articlen),articlen);
// printf("an string");
}else if(artic.m_dwType==DBVT_BINARY)
{
articlen=artic.m_pbinary->m_dwDataLength;
articbody=(char *)malloc(articlen+1);
memcpy((void*)articbody,artic.m_pbinary->m_hData,(unsigned int)articlen);