关于.value和.asstring的使用问题! 找速达财务软件
进销存软件版1楼: var str :string;
(1)str:= adoproc1.fieldbyname(''name'').value;
(2)str:= adoproc1.fieldbyname(''name'').asstring;
有的时候使用(1)不抱错,但是有的时候报错,改为(2)即正常,请问是为什么啊?asinteger也有同样问题,请帮忙!
(1)str:= adoproc1.fieldbyname(''name'').value;
(2)str:= adoproc1.fieldbyname(''name'').asstring;
有的时候使用(1)不抱错,但是有的时候报错,改为(2)即正常,请问是为什么啊?asinteger也有同样问题,请帮忙!
2楼: 1,使用字段默认数据类型,如果是整数,你赋给str当然出错
2,转为string类型,赋值给str当然没问题 如速达财务软件
3楼: 1,如果值为null即报错
2,如果值为null自动转为''''
4楼: 呵呵,是不是我没有说清楚啦,类型当然是匹配的了,而且也不是null;
5楼: 没有人遇到过吗?
6楼: 如果确实如你所说,声明了str: string,那么如果
str:= adoproc1.fieldbyname(''name'').asstring;没有报错的话,
str:= adoproc1.fieldbyname(''name'').value;更加不会报错,因为TField.value返回的是
Variant类型,编译器会自动转换的。你检查一下后续的代码吧,应该是它们的问题
进销存软件版7楼: 是我还没有说清楚吗?
我是说str:= adoproc1.fieldbyname(''name'').value;的时候报错了,之后我把他们改为了str:= adoproc1.fieldbyname(''name'').asstring;就不报错了;