我使用SQL数据库,字段为DateTime类型程序中,我使用ADOTable组件连接SQL表,在设计字段时,DisplayFormat设置为hh:mm
EditMask设置为!90:00;1;_
则在程序运行时,会出现,假设我数据库内部的内容为:21:33:00
则在显示时正确为:21:33
当鼠标点击时,则会变成21:00
分钟部份则变成了秒钟,
真奇怪啊。
请高手解决, 我在网上查找了很久,也没有找到解决方法。不过,同样也有人遇到过。
I've put a dbedit on my form. in editmask i set dbedit to !90:00;1;_
and the display format to hh:nn.when i click in my dbedit then 18:25 turns into 18:00 or 19:15 turn
into 19:00 when i click away from dbedit it turns normal again..How is this happening and how can i solve that?TX anyone ,anywhere, anyhow, anytime
EditMask设置为!90:00;1;_
则在程序运行时,会出现,假设我数据库内部的内容为:21:33:00
则在显示时正确为:21:33
当鼠标点击时,则会变成21:00
分钟部份则变成了秒钟,
真奇怪啊。
请高手解决, 我在网上查找了很久,也没有找到解决方法。不过,同样也有人遇到过。
I've put a dbedit on my form. in editmask i set dbedit to !90:00;1;_
and the display format to hh:nn.when i click in my dbedit then 18:25 turns into 18:00 or 19:15 turn
into 19:00 when i click away from dbedit it turns normal again..How is this happening and how can i solve that?TX anyone ,anywhere, anyhow, anytime
解决方案 »
- 我用ADOQUERY调用sqlserver存储过程输入怎么总是NULL?
- 请教:如何在delphi中实现点对点的文件传输
- 如何降低线程的CPU占有率
- 求购二手纸版书籍《Delphi5开发人员指南》!!!
- C语言写的DLL在Delphi里面调用的问题!!
- 请教各位大侠!
- acc,bcc各是个Tedit控件,我想用一个变量字符串name1表示a和b,那带变量name1的话怎么表示出acc和abb呢,请看内容?
- 求助:怎样进行线程时间计算
- 为什么RECORDSET是只读??
- 中文的朗读怎样实现
- 一个函数的问题。。试了多次都不行不知何帮,请高手指点。FUNCTION 就急..............................................................
- 动态创建RZgroupBar?????
常用的做法是在字段 getText setText设定显示方式
如在gettext
if not Sender.ISnull then
text := FormatDateTime('hh:nn',Sender.AsDateTime)editmask 设置为##:##
你错了,如果 你想做一个健壮的程序,就不要用db控件,db控件是很多初学者为了图省事,摆几个控件来显示数据用的,咱可不能这样呀
对于大量的录入,不采用DB控件,要在程序处理上处理许多东西不直接与数据保持连接是最理想,但是一个内网,连不连,没有任何关系。你讲的属于BS的模式方面吧。以上言论,没有偏见,只是个人所想。
当然,如果程序比较小,绑定的方式处理起来比较方便;
即使在一个网内,用户多的情况下对于服务器的来说,与数据源保持连接也是一种负担。有点跑题了,楼主可以看看TMaskEdit的具体用法。但我还是建议用TEdit的好。
帮忙一下
逸帆(39034261) 22:35:04
我以前的老项目都没有这个问题
逸帆(39034261) 22:35:08
一样的用法
Arthur(阿胜)(34334055) 22:35:15
你的问题 不清楚,从来不用DBEdit
cjc(3768605) 22:35:27
那把老项目拷贝过来试试啊
逸帆(39034261) 22:35:29
晕
cjc(3768605) 22:35:50
看来大家都没有用DBedit的习惯啊
逸帆(39034261) 22:35:53
我数据库的格式都变了,数据库都换了啊
Arthur(阿胜)(34334055) 22:35:55
除了 TADOXX 其他 BDE什么的从不用
cjc(3768605) 22:36:08
你到底有多少个字段要编辑啊?
逸帆(39034261) 22:36:15
几十个吧
逸帆(39034261) 22:36:44
问题倒也是有解决办法,使用Elib的组件就可以
cjc(3768605) 22:37:25
能解决不就得了
Arthur(阿胜)(34334055) 22:37:55
你从TDBEdit派生一个不就是了
逸帆(39034261) 22:39:19
呵呵,不是我是不想使用第三方组件啊
Arthur(阿胜)(34334055) 22:43:22
Arthur(阿胜)(34334055) 22:37:55
你从TDBEdit派生一个不就是了
逸帆(39034261) 22:43:51
派生一个,本质上没有解决问题
Arthur(阿胜)(34334055) 22:43:58
应该在getXXX事件中 可以解决
逸帆(39034261) 22:44:24
Get事件是可以
逸帆(39034261) 22:44:43
每我每个表,有几十个这样的字段,这样做,也太麻烦了
Arthur(阿胜)(34334055) 22:45:16
所以,让你派生一个 就全解决了
Arthur(阿胜)(34334055) 22:45:21
:)
逸帆(39034261) 22:45:24
:)
比如
ADOQuery.Open;
后面紧接着
//时间格式设置
TDateTimefield(FieldByName('你的字段')).DisplayFormat := 'hh:mm:ss';2.用TMaskEdit的使用一般用它的EditText属性取值,尤其是有掩码时,比如
TMaskEdit.EditText := FieldByName('你的字段').AsString;