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