超难问题:BCB怎样获得包含'\0'的字段数据
在SQL Server的字段AAA:char(16)中的数据是'ABC'+Char(0)+Char(0)+'LM'+Char(0)+'='共计9个字节.
在BCB中
TField *XX = ADOTable1->FindField("AAA");
XX->DataSize;//确得到3个字节,XX->Value也是"ABC"
是VCL的问题吗,有什么办法得到完整的字段数据?
[解决办法]
不是vcl的问题,字符串是以\0结尾的,后面的数据自然读不出。
你用TBytes AsBytes;这个类型可以取到\0后面的数据
[解决办法]
c++builder 中
char aaa[16];
String ss;
ss="ABC"+Char(0)+Char(0)+"LM"+Char(0)+"=";
strcpy(aaa,ss.c_str());
SQL Server
是'ABC'+‘0’+‘0’+'LM'+‘0’+'='
[解决办法]
[解决办法]
http://topic.csdn.net/t/20030702/10/1980961.html
这个也许对楼主有点用吧...好运...
[解决办法]
以Blob 字段读取出来, 这样是否可行?
[解决办法]
char遇到0x0就会结束,用byte类型的缓冲.
[解决办法]
怎么写进去的就怎么读出来。你原来肯定不是按字符串写的吧
试试ADOTable1->FieldByName("AAA")->AsVariant
[解决办法]
用int都可以啦。
int xx[50];
只要是数组就行,而且长度要自己知道。