用delphi,提取一个日期时间字段, sql:='select top 1 qr_7rq from zkd_scgl_zxjh where cpgg='''+cpgg+''' and lh like'+''''+lh+'%'+''' and ph='''+ph+''' and bzw='''+bzw+'''and zhqr=1 and kdbzw=0 order by qr_7rq desc';
 
这个qr_7rq就是一个日期时间字段,我如果在数据表中查询,出来的结果是2010-9-17 9:41:12,但在delphi的edit框里显示的是2010-9-17 9:41:11.
很多数据都是这样的,为什么,能避免不?

解决方案 »

  1.   

    日期时间实际就是一个浮点数,显示时因算法不同,可能有点差异,这是正常的。你给用户使用的是
    你的delphi编译的程序,为什么要“在数据表中查询”呢?没有必要避免。
      

  2.   

    这个问题我没见过呀,你是怎么取值的呢?
    edit1.text:=query1.fieldbyname('qr_7rq').asstring;这样取会有你那样的问题?
      

  3.   

    如果你也是我这样取值,还出现少一秒的情况,我就无语,那确实没遇到过。
    如果不是,那就用我的方法去取时间,赋给edit。应该不会有少秒的情况。
    我可还没遇到过你说的这样的情况。
      

  4.   

    edit57.Text :=datamodule3.pd_lsb_zkdquery.fieldbyname('qr_7rq').asstring;
    就是这样的。
      

  5.   

    select convert(varchar(19),datetimecol,120) from table1取出来是字符型的这样子应该不会存在那个问题 了。。
    很想问,楼主用的什么数据库 我一直用mssql,没有发现过有这个问题。。