超难有关问题:BCB怎样获得包含'\0'的字段数据

超难问题: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’+'='
------解决方案--------------------
探讨
不是vcl的问题,字符串是以\0结尾的,后面的数据自然读不出。
你用TBytes AsBytes;这个类型可以取到\0后面的数据

------解决方案--------------------
http://topic.****.net/t/20030702/10/1980961.html
这个也许对楼主有点用吧...好运...
------解决方案--------------------
以Blob 字段读取出来, 这样是否可行?
------解决方案--------------------
char遇到0x0就会结束,用byte类型的缓冲.
------解决方案--------------------
怎么写进去的就怎么读出来。你原来肯定不是按字符串写的吧

试试ADOTable1->FieldByName("AAA")->AsVariant
------解决方案--------------------
用int都可以啦。
int xx[50];

只要是数组就行,而且长度要自己知道。