问题一:
    我用dbgrid从库里查询出来显示时间变成这样(1900-01-01 12:30:00),
我只要(12:30),我用了两种方式都不行
一.dataMod.ADOquery1.SQL.Text:='select bh,xm,convert(varcha(8),sj,108)   from sjb';
二.DataMod.ADOquery1.SQL.Text:='select BH,XM,'+DATEFORMAT('HHMM',+'SJ'+)+''''+'from jcqkrbb'
问题二:
  Rq2:=FormatDateTime('yyyymmdd', DateTimePicker1.DateTime);
  ADOQuery1.Close;
  ADOQuery1.SQL.Text:=StringReplace(ADOQuery2.SQL.Text, '20031004', Rq2,
    [rfReplaceAll, rfIgnoreCase]);
  ADOQuery1.Open;
  dcrs1:=adoquery1.recordcount;
  ycrq1:=FormatDateTime('yyyy年mm月dd日', DateTimePicker1.DateTime+1);
  cdrq1:=formatdatetime('yyyy年mm月dd日',DateTimePicker1.DateTime);
  FORM2.SHOW;   //打開定餐單
  form2.Label1.Caption:=inttostr(dcrs1);   //定餐人數为什么我的DateTimePicker1.DateTime的值明明改变了,但Label1.Caption的值却变不了?WHY?

解决方案 »

  1.   

    1、数据库中用char类型的会好一些;
    2、
      form2.Label1.Caption:=inttostr(dcrs1);   //定餐人數
      FORM2.SHOW;   //打開定餐單
      试试看
      

  2.   

    问题一:TDateTimefield(adoquery1.Fields[3]).displayformat:='yyyy-mm-dd';
    //设置字段的显示格式(日期型)
      

  3.   

    有两种方法处理你的日期格式化问题:
    1. 用SQL格式化
      用DetePart()函数分别取出日期中你想要的部分,然后将它们串起来即可。
    2. 用Delphi本身函数
      当你取得AsDateTime类型的字段值后,用FormatDateTime()函数对其格式化。Caption没有变的问题
    ++++++++++
    因为label控件是继承Graphic的,说白了就是画上去的,所以你要用TLabel中的
    Update或Refresh刷新一下才行!!
      

  4.   

    TDateTimefield(adoquery1.Fields[3]).displayformat:='yyyy-mm-dd';
    //设置字段的显示格式(日期型)第一个问题OK了!谢谢noil0125(珏心)第二个问题还是不行,我想是adoquery1.recordcount的值没变
    那位兄台碰到个类式的,帮帮我!
      

  5.   

    自己搞定!
    我想應該是recordcount不能更新造成的,我換count(*)統計,與label沒關係!