case 20://text
case 12://ntext
/*===================================
基本思路:先得到text的长度,然后分段
进行读写。
====================================*/
char *pText;
char Buf[1024];
long cbTxtSize;
pText=NULL;
memset(Buf,0,1024);
cbTxtSize=0;
//得到text文本的长度
retcode=SQLGetData(hstmt,nColumnNumber,SQL_C_CHAR,Buf,1023,&cbTxtSize);
if(cbTxtSize>0) {
fp->Write(&cbTxtSize,4);
fp->Write(Buf,strlen(Buf));
}else{//text列为空
cbTxtSize=0;
fp->Write(&cbTxtSize,4);
return;
}
nNum=strlen(Buf);
while(retcode!= SQL_NO_DATA){
memset(Buf,0,1024);
retcode=SQLGetData(hstmt,nColumnNumber,SQL_C_CHAR,Buf,400,&cbTxtSize);
if ( retcode!= SQL_NO_DATA ){
fp->Write(Buf,strlen(Buf));
nNum+=strlen(Buf);
}
};
break;
11 个解决方案
#1
问题哟可能出在何处〉?
#2
用上述方法操作IMAGE字段完全正常
#3
http://expert.csdn.net/Expert/topic/1674/1674585.xml?temp=.6833765
#4
是不是变量定义有误,ntext是字符串变量,定义为静态字符数组不一定合适.
#5
怎么不正常?
#6
select datalength(text列) 字节数,len(text列) 字符数 from 表
#7
我使用的是odbcapi函数,楼上老哥说得不太适合
#8
例如:text字段里面存放了一篇文章,可以读取出来文章的内容,文章的长度不正确要比实际要长
#9
还搞不定吗?我的例子是可用的,还有什么问题吗?
#10
我在看看
#11
如果你是用ADO的话,你可以这样得到
lngLogoSize = pRstPubInfo->Fields->Item["logo"]->ActualSize;
lngLogoSize = pRstPubInfo->Fields->Item["logo"]->ActualSize;
#1
问题哟可能出在何处〉?
#2
用上述方法操作IMAGE字段完全正常
#3
http://expert.csdn.net/Expert/topic/1674/1674585.xml?temp=.6833765
#4
是不是变量定义有误,ntext是字符串变量,定义为静态字符数组不一定合适.
#5
怎么不正常?
#6
select datalength(text列) 字节数,len(text列) 字符数 from 表
#7
我使用的是odbcapi函数,楼上老哥说得不太适合
#8
例如:text字段里面存放了一篇文章,可以读取出来文章的内容,文章的长度不正确要比实际要长
#9
还搞不定吗?我的例子是可用的,还有什么问题吗?
#10
我在看看
#11
如果你是用ADO的话,你可以这样得到
lngLogoSize = pRstPubInfo->Fields->Item["logo"]->ActualSize;
lngLogoSize = pRstPubInfo->Fields->Item["logo"]->ActualSize;