当前位置:主页>销售管理软件> 列表

关于.value和.asstring的使用问题! 找速达财务软件

进销存软件版1楼: var str :string;

(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;就不报错了;