数据库里只有日期这个字段没有星期,客户要求显示星期几.用select   datename(weekday,日期)   from   table在SQL可以实现但是在delphi说datenane没有定义,请问各位有没有办法将日期字段生成一个日期字段

沉得太快了~~~快点来人帮忙一下啊~

case   dayofweek(date)   of   
           1:result:='星期日';   
           2:result:='星期一';   
           3:result:='星期二';   
           4:result:='星期三';   
           5:result:='星期四';   
           6:result:='星期五';   
           7:result:='星期六';   
       end;

to:ron_xin(星雨)  
  这个我知道,我是说在数据库存查询的时候将本来已有的日期转为星期.问题我表达得不够清楚吗?

with   adoquery1   do   
   begin   
       close;   
       sql.clear;   
       sql.text   :=   'select   datename(weekday,日期)     week   from   table   ';   
       open;   
       showmessage(fieldbyname('week').asstring);   
   end;

to:47522341(睡到8:30)  
  一开始我也是使用这种方法,但是delphi执行的时候提示datename未定义,你的可以运行吗?你是怎么处理的?

我用的是ACCESS数据库

dayofweek(date)

那应该是别名的问题~`  
  select   datename(weekday,日期)   as   datenane   from   table

我用的是ACCESS数据库!会不会不支持datename??因为我用另外一个SQL数据库表可以执行

在Access里建一个查询,在Delphi里调用这个查询  
   
  Access用的函数用在查询里

to:skertone()  
  可以举个例子吗?

ACCESS不支持吧`~并非SQL所有的函数都能在Access里用的`~

三种方法  
  1、根据   DATEPART('W',日期)   取出当天是星期几,然后通过IIF转换,反正就是7层  
   
  select   日期,IIF(DATEPART('W',日期)=1,'星期天',IIF(DATEPART('W',日期)=2,'星期一','根据IIF继续写下去'))   FROM   表  
   
  2、根据   DATEPART('W',日期)   取出当天是星期几,在Delphi中通过建立查找字段完成,当然得建立另外一个表保存那个数字对应星期几  
   
  3、Delphi通过格式化字段完成  
   
 

是啊,就是因为datename在access不支持才麻烦.有没有什么好的办法查询的时候显示星期呢?

to:Hank(星星农场)    
  可以格式化一整个字段的吗?可不可以说明的一下

Hank,你那个IIF是什么意思,delphi总是提示语法错误

俺实在是佩服你  
   
  第一种方案是纯SQL的东西,必须在TADOQuery中执行,不知你怎么在Delphi中用的  
   
  第三种方法是通过DisplayValue属性设置

哈哈,新手是麻烦点,不好意思.  
  我是在DAOQuery下执行的,但好像认不了IIF

终于可以通过编译了,看一下数据对不对

Hank(星星农场)你的第一种方法,不是生成了7列??

●function   DayOfWeek(Date:   TDateTime):   Integer;   
     
   Description   
     
   DayOfWeek   returns   the   day   of   the   week   of   the   specified   date   as     
   an   integer   between   
   1   and   7,   where   Sunday   is   the   first   day   of   the   week   and     
   Saturday   is   the   seventh.   
     
   Note:   DayOfWeek   is   not   compliant   with   the   ISO   8601   standard,     
   which   defines   Monday   
   as   the   first   day   of   the   week.   For   an   ISO   8601   compliant     
   version,   use   the   DayOfTheWeek   
   function   instead.


   
  描述:  
  按照给定的TDateTime类型的参数Date,DayOfWeek   函数得到一周中的第几天,从1到7。  
  这里   星期日   是一周的第一天,而   星期六   是第七天。  
 

先取出日期,然后再delphi中转变