【发布时间】:2020-05-16 01:22:11
【问题描述】:
我正在尝试捕获调试器通知文本,Firedac 连接
//FDScript1.SQLScripts.Add.SQL.LoadFromFile('C:\SGI\Rodar_Apos_Atualizar_3.txt');
//FDScript1.ValidateAll;
//FDScript1.ExecuteAll;
//MSScript1.SQL.LoadFromFile('C:\SGI\Rodar_Apos_Atualizar_3.txt');
//MSScript1.Execute;
try
FDConnection1.Connected := True;
FDScript1.SQLScripts.Add.SQL.LoadFromFile('C:\SGI\Rodar_Apos_Atualizar_3.txt');
FDScript1.ExecuteAll;
FDScript1.ValidateAll;
except
//EMSSQLNativeException
on E: EMSSQLNativeException do
begin
//ShowMessage('Erro'+FDGUIxErrorDialog1.ErrorDialog.Caption);
//Memo1.Clear;
Memo1.Text := 'Erro de Sistema: '+#13#10+ E.Message;
end;
end;
【问题讨论】:
-
而且,您的实际问题是……究竟是什么?
-
错误消息似乎在谈论关键字“ON”附近的语法错误。当错误发生时您没有告诉我们正在执行什么脚本,我们读者怎么可能知道语法错误?
-
他想要的是阻止调试器消息框出现。
-
嗨@Olivier。恐怕我不听你的评论,或者我错过了你的观点。如果 Sql Server 报告语法错误,我们需要知道“语法错误在什么地方,到底是什么?”的答案。不是吗?
-
@MartynA 当然,但现在他的问题是正确捕获异常以按照他想要的方式显示错误消息,记录它或其他方式。看看他的代码,他试图捕捉
EMSSQLNativeException,但调试器仍然出现。不知道为什么。
标签: delphi delphi-xe2 firedac