我用了一個access库,我在delphi里用DBedit来输入数据不完全的时候,有问题?(20分)

  • 主题发起人 主题发起人 tihao
  • 开始时间 开始时间
T

tihao

Unregistered / Unconfirmed
GUEST, unregistred user!
我用了一個access库,我在delphi里用DBedit来输入数据的时候(用maskedit时也一样),当输入不完全的
时候,就出现系统的错误提示请问如何解决这个问题,而显示自己的消息框?
请各位指教,谢谢!!
 
是不是有些字段设为了NotNull?建议看一下表的设计属性
 
不是,例如我要設一個字段為日期型的吧,排碼為0000/00/00,在輸入時如果輸入
不完全的時候,就是當這個maskedit失去焦點時,就會出錯啊!怎麼改進啊!?
 
是区域设置的问题,或者字段本身设置,或者。。。
 
你可以使用TPickDateTime之類的控件就可以很好的解決這個問題
 
对于你这个问题,有四种解决方案:
1、不使用数据库敏感控件,如DBEdit、DBMemo和DBGrid,特别指出是不使用这些控件进行修改。而不是不用这些来显示。
使用Edit等来进行修改,然后自己再赋值给数据库字段,这样自己就有了一个判断的机会。
2、使用Application.OnException=...,将系统出错集中到一个地方处理,分别捕获各种错误,给出相应提示。
但是这样比较繁琐,而且对于数据库的错误,捕获也不准确。
3、修改Delphi自带的DBGrid.pas和DBCtrls.pas,将相应错误改成中文,这样也不好。
4、在Query的字段的OnSetText或者OnValidate属性里面判断,根据情况作出相应提示。这种办法好是好,但是就是比较繁琐。
 
多人接受答案了。
 
后退
顶部