各位delphi高手:
我现在遇到了一个在sqlserver 200与delphi 2005间的numeric类型的数据转换的问题,简述如下:
我在数据库中建立了一个P_UnitW字段,numeric类型,长度为9,小数位为6,然后在delphi中通过ADOQuery控件对其进行操作,当我写入0.123456的时候,通过查询分析器可以查得已经写入进去,但是当我在delphi中将其读出,用ShowMessage(FieldByName('P_UnitW').AsString)显示它的时候发现它变成了0.1235。这是为什么呢?怎末解决呢?还望各位高手不吝赐教。
Haison
我现在遇到了一个在sqlserver 200与delphi 2005间的numeric类型的数据转换的问题,简述如下:
我在数据库中建立了一个P_UnitW字段,numeric类型,长度为9,小数位为6,然后在delphi中通过ADOQuery控件对其进行操作,当我写入0.123456的时候,通过查询分析器可以查得已经写入进去,但是当我在delphi中将其读出,用ShowMessage(FieldByName('P_UnitW').AsString)显示它的时候发现它变成了0.1235。这是为什么呢?怎末解决呢?还望各位高手不吝赐教。
Haison
解决方案 »
- 请帮助。我的delphi 7安装在d盘,c是系统盘,我每次安装系统后,delphi 7 的控件包就要重新安装,请问如何保存delphi7的控件包。
- 100分大讨论:进销存系统中,如何处理同种商品的不同进价
- 一个数据表复制的问题,求好方法
- 如何让数据库中的记录显示在combobox里?
- 怎样截获系统的关机消息?
- 请问在哪里可以下载到installshield.express for delphi6?(在线等)
- 50分求购控件
- FxCube就是DecisionCube2。0怎么用啊,分不够再加啊
- 怎么用DELPHI把图标保存为16色以上?
- 一个由VB转向Delphi者的疑问
- 转贴...100分求Oracle简单问题,关于Insert和表v$sqlarea。帮顶有分。在线等。
- 引号如何加?
看看
照这个数据来看,是DELPHI的Currency数据类型。
我也遇到这个问题。在ORACLE中。用 Number 字段。但读出来会自动 4舍5入。关注。
显示出来的也是0.1235
其实我先前的意图是让P_UnitW字段的值在Tedit控件中显示出来,但是它显示的却是0.1235,我以为可能是Tedit控件的某个属性设置错了,所以就用ShowMessage()的方法显示一下看看,但是也是0.1235,所以比较纳闷,但是在Sqlserver 2000的查询分析器里对其进行操作时,却一点错误都没有,我写的一段小测试程序如下:
use Haison
go
set nocount on
declare @PUnitW_before numeric(9,6),
@PUnitW_after numeric(9,6),
@PUnitW_Input numeric(9,6),
@PipeNo varchar(6)
--管号赋值
set @PipeNo=106249
--将要写入的值赋值
set @PUnitW_Input=0.123456
select @PUnitW_Input 将要写入的值
--读出数据库中原来的值
select @PUnitW_before=P_UnitW from Pub_Main where Pipe_No=@PipeNo
select @PUnitW_before 原先值
--将数据库中的字段更新
update Pub_Main set P_UnitW=@PUnitW_Input where Pipe_No=@PipeNo
--再次读出数据库中的值
select @PUnitW_after=P_UnitW from Pub_Main where Pipe_No=@PipeNo
select @PUnitW_after 改后值
go
感谢KeyLife在大富翁论坛的富翁笔记:
http://www.delphibbs.com/keylife/iblog_show.asp?xid=4516
whbo(王红波(年轻人,要有所作为)) 应该也指的是第一种方法吧。
即将结贴。