大家来看我的怪问题(向数据表写东西)
//数据库为Interbase 6,数据表内FEATUREDATA1字段的char,长度为401
int I;
char *FeatureData1;
FeatureData1=new char[400];
for(I=0;I<400,I++)
*(FeatureData1+I)=*(FeatureData+I);
//能保证*(FeatureData1+0)到*(FeatureData1+399)都不为空结束符!
FeatureData1[400]=’\0’;
DataModule1->PersonTable->FieldByName("FEATUREDATA1")->AsString=FeatureData1;
//delete FeatureData1; 加和不加都有问题
//上句有时能够执行,有时执行却会地址冲突、Invaild BLOB Length错误(有个字段定义为BLOB了,但没用到,也没任何读写它的语句)。
大家遇到这类怪问题吗?能给点好的建议吗?十分感谢!
问题点数:0、回复次数:3Top
1 楼yesry(噎死你)回复于 2003-06-03 12:59:39 得分 0
FeatureData1[400]=’\0’;
FeatureData1[399]=’\0’;
Top
2 楼yesry(噎死你)回复于 2003-06-03 13:01:15 得分 0
FeatureData1[400]=’\0’;改为FeatureData1[399]=’\0’;
或
FeatureData1=new char[400];改为FeatureData1=new char[401];Top
3 楼TR@SOE()回复于 2003-06-03 13:24:58 得分 0
好象CHAR类型的字段长度不能有那么长吧Top




