请问各位一个关于出错信息的问题。(15分)

  • 主题发起人 主题发起人 netabloid
  • 开始时间 开始时间
N

netabloid

Unregistered / Unconfirmed
GUEST, unregistred user!
我在一个 dbgrid 表格还没进行进行操作:
Table1.Append;
但由于由于输入的一个字段值已经有相同的值了,并且建了这个字段的索引,所以出错:
Key violation.
Violation of PRIMARY KEY constraint 'PK__table1__id'.Cannot insert duplicate key in
object 'table1'.
请问各位大侠,我想将这个出错信息屏蔽起来,用我自己的信息代替,我在 table1.OnPostError 里
写上了信息,但除了我的信息之外,还是出现了系统本身的出错信息,这该怎么办?
多谢了!
 
我没用过,但你看看事件里有没有一个var参数?如果那个参数是字符型,换成你的出错信息,
如果是真假型,让它等于假。
 
ApplicationEvents1.OnException
 
try
Table1.Append;
...........
Table1.Post;
except
Table1.Cancel
ShowMessage('你的错误信息');
end;
 
同意Pipi.
 
使用TApplicationEvents组件,在onException事件中写上代码:
if pos('Cannot insert duplicate key in') then
E.Message := '关键字重复,请重新输入!'
 
不好意思写错一点了
使用TApplicationEvents组件,在onException事件中写上代码:
if pos('Cannot insert duplicate key in')<>0 then
E.Message := '关键字重复,请重新输入!'
在此事件中可以捕捉各种错误信息进行自定义错误信息
 
不行又错了
if pos('cannot insert duplicate kye in',E.Message)<>0 then
E.Message := '关键字重复,请重新输入!'
 
谢谢你,我去试试,你写错了可以改一下嘛,为什么发好几条呀?!
 
Delphi中很多出错信息的汉化都可以这么在onException事件中做。
 
后退
顶部