try
m_Query.Open;
except
m_Query.ExecSQL;
end;
这段代码在遇到select语句时可以执行,在遇到其它的如insert时就会在m_Query.Open后面弹出错误提示窗口,根本就没有起到try的作用啊,高手指点,怎么作才可以谢谢
m_Query.Open;
except
m_Query.ExecSQL;
end;
这段代码在遇到select语句时可以执行,在遇到其它的如insert时就会在m_Query.Open后面弹出错误提示窗口,根本就没有起到try的作用啊,高手指点,怎么作才可以谢谢
解决方案 »
- 求:俩个窗体同时显示问题 (必须showmodal)
- 求教:delphi databinding之后如何修改保存
- 我快晕S了,请大家帮帮我!
- 尽管是新手,提来都感觉丢脸!请各位指导
- 关于资源的释放
- 紧急求救,如何用Delphi实现类似Windows资源管理器中左右两颗树节点的移动,删除?
- 还有一个问题!
- 控件trichedit能否插入图片,怎么插入
- 小弟刚学delphi,请问有这方面的好书介绍吗
- 请教:怎样实现当一个richedit滚动时(包括键盘和拖动滚动条)另一个richedit同步滚动
- 有谁有BusinessSkinForm的bsskintimeedit具体用法
- pascal的inc函数什么意思?
但是在Delphi的Ide环境下还是会先被系统抓到。
用.exe文件执行就没有问题了。
或者出错后继续按运行也会继续执行下去得到你的结果。
m_Query.Open;
except
m_Query.ExecSQL;
end;
你的这段代码不会屏蔽插入重复键的可能,所以会出现违反约束的问题 可以试一下这样的结构
try
m_Query.Open;
except
try
m_Query.ExecSQL;
except
m_Query.cancle;(还可以加个提示)
abort;
end;
end;
你的初衷是先执行 m_Query.Open,如果出错,就认为SQL不是Select类型,是更新类型的SQL(Insert Update Delete),然后执行m_Query.ExecSQL;
但是m_Query.Open出错有很多原因的,也许SQL语句有问题。
try
m_Query.Open;
except
try
m_Query.ExecSQL;
except
... //添加处理异常的代码
end;
end;