怎样在SQL查询语句中设置某一字段的类型(不是创建、修改表结构,是查询)内详?(50分)

  • 主题发起人 主题发起人 dpbug_cn
  • 开始时间 开始时间
D

dpbug_cn

Unregistered / Unconfirmed
GUEST, unregistred user!
表1中有一字段“价格”是货币类型(access2000数据库),直接查询后该字段在Grid中显示为货币“¥ 1,234.00”。
但是我的查询语句 :
SELECT 价格, (价格 * 10 / 批量) AS 均价 FROM 表1
查询后“均价”字段就不是货币类型了,显示例如“1234”。

请问如何在SQL语句中把“均价”字段设置为货币类型呢?
 
在SQL语句中使用convert()函数。
 
access应该只是按照数字来计算了货币的,返回的时候也只是数字。自己加一个‘¥’就好了。
 
acess后台是显示的货币样式,但是前台的dbgrid不会有这种显示样式吧,直接就输出数字了
 
dataSet1.fields.displayFormat := '¥999,999.99';
 
直接加¥不能变成“¥ 1,234”形式,还是“¥ 1234”。我用的是devexpress的QuntunmGrid控件,他是数据感知的,如果是currency形式的数据,直接显示成“¥ 1,234.00”很方便。但是我SQL语句中查询生成的字段没有指定数据类型,就无法显示成货币形式了。如何在SQL查询中指定生成字段的类型呢?我用的是access的数据库,它不支持convert函数
 
把dbgrid的字段属性displayFormat设置为:¥###,###.##,试试
 
ADODataSet1.DisPlayFormat:=
'¥999,999.99'我试过了,没问题
 
楼上用的是什么版本的delphi?什么版本的ado?adodataset哪有这个displayformat属性啊,你是如何试的?
 
devexpress的QuntunmGrid字段没有displayformat属性啊
 
那就用ongettext 吧
 
晕,不是adodataset有displayformat属性.而是数据集(adodataset)的字段(fields)有这个属性.
 
把FloatField字段的属性Currency设成True;、就可以了
 
我也晕,数据集(adodataset)的字段(fields)哪有这个属性啊?
有displayname,displaywidth等等,就是没哟displayformat。
 
双击你的数据集,打开了字段编辑器,先中一个字段.在object inspector里就看到了displayformat属性.

或者写程序:
adodataset1.fieldbyname('你的字段').displayformat := ......;
 
上面说的都不对,给你代码吧
TCurrencyField(ADOQuery.FieldByName('字段')).DisplayFormat := '¥###,###,###.00'

快给分啊 !
 
接受答案了.
 
后退
顶部