问两个问题,请大家帮忙!

时间:2020-12-10 19:51:07
1、clientdataset通过连接delphi写的webservice打开一个表,sql语句是这样写的,select (a+b) as c from t_aa,其中a=0,b=1.8,正常情况下c应该等于1.8(在数据库中测试过,c=1.8,没问题),但是clientdataset.fieldbyname('c').asfloat却等于2了,它把c自动四舍五入了,我想问问这是clientdataset的问题那,还是webservice的问题?
2、有一个dbgrideh,一个字段的displayformat='0.00',这样该字段的数值就以保留两位小数显示,这样都没问题。但是我在dbgrideh的OnDrawColumnCell事件里写了东西,作用是根据条件改变相应行的颜色,这样以来前面的displayformat='0.00'就不管用了,请问该怎么办?

以上两个问题虽然都是小问题,但是搞的我非常头疼,请大家帮帮忙,帮UP也好,谢谢!!!

10 个解决方案

#1


2.你在OnDrawColumnCell里面TextOut的时候自己格式化小数位,不用displayformat='0.00'了

#2


第一个问题:clientdataset.fieldbyname('c').asfloat改成clientdataset.fieldbyname('c').AsVariant看看行不行
第二个问题:把displayformat='0.00'写在你的OnDrawColumnCell那些语句的后面看看

#3


感谢楼上两位,chinachenglong(永远的小龙) 的方法已试过,不行的。
to:cuteant(我这张旧船票还能否登上你的破船|涛声是否依旧)
OnDrawColumnCell里面的TextOut
能否给个例子,我找不到TextOut这个东西,谢谢!

#4


按照cuteant的思路,问题2已经解决了,请大家帮我解决第1个问题,谢谢!

#5


你把问题1贴出你的实现部分的代码看看

#6


sql:='select mainprice,Productprice,(mainprice+Productprice) as ListPrice
      from m_Product where typemark=trim(rzedit1.text)';        
clientdataset1.Close;
clientdataset1.CommandText:=sql;
clientdataset1.Open;

注:(clientdataset1.remoteserver:=SoapConnection1;      
     clientdataset1.providername:=DataSetProvider1;)

#7


这样不会有问题,不会四舍五入

关键是你认为四舍五入了的地方是怎么写的

#8


clientdataset1.fieldbyname('ListPrice').asfloat 就四舍五入了,sql语句应该没问题,我就很纳闷,不知道怎么回事,我怀疑是不是webservice的问题,但是webservice就是三个控件连接的,也没什么啊!嗨 郁闷的很。

#9


cuteant:
方便加我QQ吗?22870747

#10


各位,帮帮忙啊!

#1


2.你在OnDrawColumnCell里面TextOut的时候自己格式化小数位,不用displayformat='0.00'了

#2


第一个问题:clientdataset.fieldbyname('c').asfloat改成clientdataset.fieldbyname('c').AsVariant看看行不行
第二个问题:把displayformat='0.00'写在你的OnDrawColumnCell那些语句的后面看看

#3


感谢楼上两位,chinachenglong(永远的小龙) 的方法已试过,不行的。
to:cuteant(我这张旧船票还能否登上你的破船|涛声是否依旧)
OnDrawColumnCell里面的TextOut
能否给个例子,我找不到TextOut这个东西,谢谢!

#4


按照cuteant的思路,问题2已经解决了,请大家帮我解决第1个问题,谢谢!

#5


你把问题1贴出你的实现部分的代码看看

#6


sql:='select mainprice,Productprice,(mainprice+Productprice) as ListPrice
      from m_Product where typemark=trim(rzedit1.text)';        
clientdataset1.Close;
clientdataset1.CommandText:=sql;
clientdataset1.Open;

注:(clientdataset1.remoteserver:=SoapConnection1;      
     clientdataset1.providername:=DataSetProvider1;)

#7


这样不会有问题,不会四舍五入

关键是你认为四舍五入了的地方是怎么写的

#8


clientdataset1.fieldbyname('ListPrice').asfloat 就四舍五入了,sql语句应该没问题,我就很纳闷,不知道怎么回事,我怀疑是不是webservice的问题,但是webservice就是三个控件连接的,也没什么啊!嗨 郁闷的很。

#9


cuteant:
方便加我QQ吗?22870747

#10


各位,帮帮忙啊!