一个奇怪的数据库写入问题,请帮忙!UP的人也有分!!
norxi 2002-12-04 08:50:46 主从表:new1为主表的TTable,new2为从表的TTable
两个表里面都有fp_no和fp_no10的字段,设为联合主键,定义为varchar2(8)和varchar(10),在ORACLE9i数据库下面
然后,delphi里面有变量fp_no和fp_no10,为string;
有以下的语句:
fp_no:='00112233';
fp_no10:='1234567890';
new1.append;
new1.fieldbyname('fp_no').asstring:=fp_no;
new1.fieldbyname('fp_no10').asstring:=fp_no10;
new1.post;
new2.append;
new2.fieldbyname('fp_no').asstring:=fp_no;
new2.fieldbyname('fp_no10').asstring:=fp_no10;
new2.post; //此处出错!!!!!
new1表post成功
但post new2表时候抱错
我查出是因为post new2表的时候,fp_no='00112233'成功的付给new2.fieldbyname('fp_no').asstring,但是post后,写入数据库里面的字符自动将前面的0去掉了,变成了'112233',这样就找不到主表里面的主键,就会报错!!!
为什么我付值的时候是对的,但post的时候会将前面的0(有几个去几个)去掉呢?
所有的东西都是字符型的,而不是整型的.
请高手指点!!帮我up的人也有分!!:)