F fbyang Unregistered / Unconfirmed GUEST, unregistred user! 2004-04-15 #1 开发midas中间件时,发现使用tprovider查询数据集时,无法捕获错误的sql语句,同时造成数据库连接死锁!请问大虾们,如何解决?!
M mstar Unregistered / Unconfirmed GUEST, unregistred user! 2004-04-15 #4 ResolveToDataSet 为 FALSE 是吗?
F fbyang Unregistered / Unconfirmed GUEST, unregistred user! 2004-04-15 #5 to mstar, ResolveToDataSet 是false,但是ResolveToDataSet主要针对提交数据的,我们现在遇到的问题是使用查询sql时,如果sql语句中有错误,比如select * from a where a.hh = 这样一个语句,只要提交到provider就死锁了,不再接受其他客户端的请求。我们看了provider的事件,没有发现有用来捕获错误的
to mstar, ResolveToDataSet 是false,但是ResolveToDataSet主要针对提交数据的,我们现在遇到的问题是使用查询sql时,如果sql语句中有错误,比如select * from a where a.hh = 这样一个语句,只要提交到provider就死锁了,不再接受其他客户端的请求。我们看了provider的事件,没有发现有用来捕获错误的
M mstar Unregistered / Unconfirmed GUEST, unregistred user! 2004-04-15 #6 有一个方法 你必须接管 DELPHI 的错误处理 自己来处理 方法如下 定义一个 PRIVATE 事件 procedure ExceptProc(Sender: TObject; E: Exception); 实际代码如下 procedure TForm1.ExceptProc(Sender: TObject; E: Exception); procedure Write_Error(const Msg : string ) ; begin ... ... end ; begin Write_Error(E.Message); // 记录错误信息到一个文件中去 end; 然后在你 FORM CREATE 的时侯 或者 系统启动的时候 加入下列代码 Application.OnException := ExceptProc ; 以后 就不会有这样的问题 [][]
有一个方法 你必须接管 DELPHI 的错误处理 自己来处理 方法如下 定义一个 PRIVATE 事件 procedure ExceptProc(Sender: TObject; E: Exception); 实际代码如下 procedure TForm1.ExceptProc(Sender: TObject; E: Exception); procedure Write_Error(const Msg : string ) ; begin ... ... end ; begin Write_Error(E.Message); // 记录错误信息到一个文件中去 end; 然后在你 FORM CREATE 的时侯 或者 系统启动的时候 加入下列代码 Application.OnException := ExceptProc ; 以后 就不会有这样的问题 [][]
F fbyang Unregistered / Unconfirmed GUEST, unregistred user! 2004-04-15 #7 mstar非常感谢,还有一些具体问题希望能和你快速交流!我的qq是59219167,恭候您的光临。