读SQLSERVER字段问题,在线 我用dbdatlen取TEXT类型字段的长度,总是4096,实际长度>8000,请问如何解决,谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可以了,要设置TEXTSIZE 和 TEXTLIMIT _variant_t varBLOB; unsigned char *pTmp = NULL; char sBinary[258]; sprintf(sBinary,"%s","0x"); long nSize = m_pRecordsetJG->GetFields()->GetItem("hh")->ActualSize; varBLOB = m_pRecordsetJG->GetFields()->GetItem("hh")->GetValue(); //write bin file //声明安全数组 ::SafeArrayAccessData(varBLOB.parray, (void **)&pTmp); for(int j=0;j<nSize;j++) { int nTmp = pTmp[j]; sprintf(sBinary + j*2 + 2,"%02X",nTmp); }; sBinary[nSize*2+2] = '\0'; ::SafeArrayUnaccessData(varBLOB.parray); AfxMessageBox(sBinary);////////////////////////////////////////////////////////////// //blob 型纪录字段 if(viValue.vt == (VT_ARRAY | VT_UI1)) { //得到数据长度 long lDatalen = m_pRecordset->GetFields()->GetItem(viIndex)->ActualSize; //得到二进制数据 viValue = m_pRecordset->GetFields()->GetItem(viIndex)->GetChunk(lDatalen);; char *pTmp = NULL; //write bin file //声明安全数组 ::SafeArrayAccessData(viValue.parray, (void **)&pTmp); CString cszbFileName; CFile fileBlob; //设置二进制文件路径 cszbFileName.Format("%s\\%d_%d.bin", ::GetDirFormFileName(cszFilename), dwRecordID, i); fileBlob.Open(cszbFileName, CFile::modeCreate|CFile::modeWrite, NULL); fileBlob.Write(pTmp, lDatalen); fileBlob.Close(); //写入下载列表 WriteListFile(cszListFile, cszbFileName); ::SafeArrayUnaccessData(viValue.parray); CAsyncSocket通信问题 Vc 如何获取当前鼠标的形状? _RecordsetPtr _CommandPtr区别? 【求助】vc 6.0 应用程序正常初始化(0xc015002)失败 学linux C++ 还是VC? 路过的指点下小弟 一个简单的问题 VC的setting不能用了,一点击就非法操作,急!!!!! 编译错误 简单,第一个答对给分 如何显示控件对话框? 400分急求!!水晶报表打包 关于在我的单文档界面菜单上调用一个用dll做成的对话框出错的问题?
unsigned char *pTmp = NULL;
char sBinary[258];
sprintf(sBinary,"%s","0x");
long nSize = m_pRecordsetJG->GetFields()->GetItem("hh")->ActualSize;
varBLOB = m_pRecordsetJG->GetFields()->GetItem("hh")->GetValue();
//write bin file
//声明安全数组
::SafeArrayAccessData(varBLOB.parray, (void **)&pTmp);
for(int j=0;j<nSize;j++)
{
int nTmp = pTmp[j];
sprintf(sBinary + j*2 + 2,"%02X",nTmp);
};
sBinary[nSize*2+2] = '\0';
::SafeArrayUnaccessData(varBLOB.parray);
AfxMessageBox(sBinary);//////////////////////////////////////////////////////////////
//blob 型纪录字段
if(viValue.vt == (VT_ARRAY | VT_UI1))
{
//得到数据长度
long lDatalen = m_pRecordset->GetFields()->GetItem(viIndex)->ActualSize;
//得到二进制数据
viValue = m_pRecordset->GetFields()->GetItem(viIndex)->GetChunk(lDatalen);;
char *pTmp = NULL; //write bin file
//声明安全数组
::SafeArrayAccessData(viValue.parray, (void **)&pTmp); CString cszbFileName;
CFile fileBlob; //设置二进制文件路径
cszbFileName.Format("%s\\%d_%d.bin", ::GetDirFormFileName(cszFilename), dwRecordID, i);
fileBlob.Open(cszbFileName, CFile::modeCreate|CFile::modeWrite, NULL);
fileBlob.Write(pTmp, lDatalen);
fileBlob.Close(); //写入下载列表
WriteListFile(cszListFile, cszbFileName); ::SafeArrayUnaccessData(viValue.parray);