DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: lixuan123
今日帖子: 17
在线用户: 9
导航: 论坛 -> DELPHI技术 斑竹:liumazi,sephil  
作者:
男 xiaojun5460 (西门吹灯) ★☆☆☆☆ -
盒子活跃会员
2004/4/22 14:51:17
标题:
关于录入服务器时间的问题??? 浏览:1264
加入我的收藏
楼主: Delphi+SQL Server2000 论坛上有一位朋友告诉我,记录的录入时间可以使用服务器的时间,方法是:新建一datetime字段,默认值设为:getdate().
    问题:1,在DBGrrid中显示是:如:2002-4-14 9:21:05怎样不要后面的时间,只要前面的日期?
         2,在按时间查询的时候,<=或=2002-4-14 9:21:05的时候没有查到记录,而>=的时候却能查到记录?
         3,我有多条记录都是同一时间录入的如:2004-4-16 9:23:12 但是我用distinct 为何不能筛选出不同的记录?
         4,between是不是用在两时间之间,如select * from table where inputtime between 2002-10-21 and 2003-2-15?
----------------------------------------------
-相互学习,共同进步!
作者:
男 minche (异杰) ★☆☆☆☆ -
盒子活跃会员
2004/4/22 15:05:31
1楼: 1、用formatdatetime('yy/mm/dd',date)函数可以解决。
2、这个应该可以查到,可能是你的sql语句有问题。
3、你根据日期用distinct选出不同的记录时,你的选出来的其他字段必须也是与日期相对应。譬如你有两条记录:(2004-1-2 ,4)和(2004-1-2,5)如果你用distinct把他们全部选出来的话,就一定有两条记录,如果你只选选日期的话就只有一条记录。

----------------------------------------------
-和大家一起学习,一起进步!!!
作者:
男 liu55721 ( ) ★☆☆☆☆ -
盒子活跃会员
2004/4/22 15:57:40
2楼: 'select * from table where inputtime between 2002-10-21 and 2003-2-15';
---------------------------------------------- 
该语句应该没有问题.可能问题还是出现在日期后面的时间上.从实用角度上讲,这里时间应当去掉。如何去掉:
   在界面上用dateTimepicker组件作“输入时间”字段的录入组件,只要在该组件
的object inspector(我称之为属性编辑器)中将其Time属性中时间删除,使其成为00:00:00就可以确保在录入时,它只提供日期,而不出现时间。另外在窗体的OnActivate事件中,加入这样一条代码:datetimepicker.date:=now;就可以确保该组件显示的是与电脑同步的当前日期。不要使用SQL2000中表设计里默认值编辑该字段时间格式。如果你不想让录入员修改录入时间,你只要把dateTimepicker 的使能属性设为假就行,但录入修改电脑的当前时间就没法了,即使你使用SQL2000时间字段默认值也没用。

----------------------------------------------
-
作者:
男 xiaojun5460 (西门吹灯) ★☆☆☆☆ -
盒子活跃会员
2004/4/22 16:02:04
3楼: 但是记录的录入时间用的是服务器的时间,(方法是:新建一datetime字段,默认值设为:getdate().)和客户端没有关系.
----------------------------------------------
-相互学习,共同进步!
作者:
男 liu55721 ( ) ★☆☆☆☆ -
盒子活跃会员
2004/4/22 16:10:10
4楼: 那就只能在SQL2000里想办法去掉日期后面的时间,总之你那个SQL语句就是时间在作怪,不信你在SQL语句的日期后面也加上时间试试;如果一定要如此,在设计表中,将日期字段的数据类型改为samlldateTime试试
----------------------------------------------
-
作者:
男 xiaojun5460 (西门吹灯) ★☆☆☆☆ -
盒子活跃会员
2004/4/22 16:17:26
5楼: 我想也是这样的,记录的时间不是客户端添加的,是记录生成时自动添加的(也就是记录生成时的时间),所以只能在SQL2000里想办法.
----------------------------------------------
-相互学习,共同进步!
作者:
男 xiaojun5460 (西门吹灯) ★☆☆☆☆ -
盒子活跃会员
2004/4/22 17:33:11
6楼: 我改成了samlldateTime还是不行,效果一样还是2004-4-16 9:23:12这种格式的.不知道怎么办?
----------------------------------------------
-相互学习,共同进步!
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行70.3125毫秒 RSS