5.Firedac错误信息

主要错误信息属性:

1.EFDDBEngineException

  • Errors -- TFDDBError对象集合.
  • ErrorCount --错误的记录数
  • Kind -- DBMS的错误集合.
  • Message --错误消息.

2. TFDDBError属性:

  • ErrorCode -- DBMS错误代码
  • Kind -- DBMS的错误集合.
  • Message --错误消息.

处理OnError过程:

procedure TForm1.FDConnection1Error(ASender: TObject; const AInitiator: IFDStanObject;
  var AException: Exception);
var
  oExc: EFDDBEngineException;
begin
  if AException is EFDDBEngineException then begin
    oExc := EFDDBEngineException(AException);
    if oExc.Kind = ekRecordLocked then
      oExc.Message := ‘Please, try the operation later. At moment, the record is busy‘
    else if (oExc.Kind = ekUKViolated) and SameText(oExc[0].ObjName, ‘UniqueKey_Orders‘) then
      oExc.Message := ‘Please, provide the unique order information. It seems, your order was already put‘;
  end;
end;

FDConnection1.OnError := FDConnection1Error;
时间: 2024-10-05 07:15:21

5.Firedac错误信息的相关文章

错误号:1364 错误信息:Field 'platId' doesn't have a default value

1. 错误描述 错误号:1364 错误信息:Field 'platId' doesn't have a default value insert into `use`.`t_platform_scale` () values () 2.错误原因 由于在建表时,给platId一个not null限制,而且没有给默认值,在插入数据时未插入,导致报错 3.解决办法 (1)修改platId可以为null (2)插入数据时一定要插入platId 版权声明:本文为博主原创文章,未经博主允许不得转载. 错误号

.NET跨平台:在Mac上跟着错误信息一步一步手写ASP.NET 5程序

今天坐高铁时尝试了一种学习ASP.NET 5的笨方法,从空文件夹开始,根据运行dnx . kestrel命令的错误信息,一步一步写代码,直至将一个最简单的ASP.NET程序运行起来. 尝试的具体步骤如下. 新建一个空文件夹HelloCnblogs: mkdir HelloCnblogs && cd $_ 在这个空HelloCnblogs文件夹中运行 dnx . kestrel 命令(基于CoreCLR的dnx),运行结果是如下的出错信息: System.InvalidOperationEx

表单提交时如何将错误信息传递到页面中,并且保存原来提交数据

曾经何时,你还有我或许都在困惑,如何方便的将验证不通过的表单信息再返回到前台页面,例如我注册一个账号,辛辛苦苦填写了N多项,一个格式验证没有通过,一切都需要充填,虽然Ajax可以解决这个问题,但是我们总不能把所有表单提交都弄成ajax,更何况有若干人就是没事把javascript给禁止了.哎哎,好了解决方案来了,下面以用户登录为例,说说我的解决方案. 服务器端用nodejs实现: login.html 简单的提交表单 <form action="" id="loginF

null?对象?异常?到底应该如何返回错误信息

这篇文章记录我的一些思考.在工作了一段时间之后. 问题的核心很简单:到底如何返回错误信息. 学生时代,见到过当时的老师的代码: 1 if (foo() == null) { 2 3 } 当然,这位老师是一位比较擅长c/c++的老程序员,所以他的代码其实使用c写的.但是意思和这段代码类似.当时,我很好奇为什么要对一个方法的返回值是不是null进行判断.现在当然很清楚了:在很多win32的API里面,是通过返回值为null来传递"函数调用失败"这一种信息的. 那么,这么做好吗? 我翻看了很

mac下,mysql5.7.18连接出错,错误信息为:Access denied for user &#39;root&#39;@&#39;localhost&#39; (using password: YES)

mac下,mysql5.7.18连接出错,错误信息为:Access denied for user 'root'@'localhost' (using password: YES)()里面的为shell中输入的命令,一定要输全包括:&等符号 第一步:苹果->系统偏好设置->最下面点MySQL,关闭mysql服务 第二步:进入终端输入(cd /usr/local/mysql/bin/)回车输入(sudo su)回车以获取管理员权限输入(./mysqld_safe --skip-grant

安装VisualStudio时失败,错误信息安装包失败或证书不在有效期内

本人安装VisualStudio2012的时候,安装失败有:错误信息安装包失败或证书不在有效期内等 网上查找相关信息,得到的答案很少,我重新网上下载同版本软件继续之前的下载,但还是无效 之后我把软件卸载,再重新安装,结果居然可以了,为什么这次又可以了呢,自己想想,很可能是因为我之前安装VS2012的同时,也在安装SqlServer2012, 很可能是因为这2个软件不能同时安装,不然为什么卸载了之后,这次没有同时安装SqlServer2012,因为它已经安装好了, 结论:VisualStudio2

PHP error_log()将错误信息写入日志文件

error_log() 是发送错误信息到某个地方的一个函数,在程序编程中比较常见,尤其是在程序调试阶段. bool error_log ( string $message [, int $message_type = 0 [, string $destination [, string $extra_headers ]]] ) 把错误信息发送到 web 服务器的错误日志,或者到一个文件里. message 应该被记录的错误信息.信息长度限制:The default seem to be 1024

php数据库之PDO--03,使用errorInfo方法得到PDO错误信息

在实际使用pdo对数据库执行操作时,可能出现sql语句写错等失误. PDO对象中给出了两个报告错误的方法 $pdo->errorCode();   --->   得到错误码(是个数字) $pdo->errorInfo();     --->   得到错误信息(是个数组) 在实际应用中可以直接使用errorInfo方法 可以在执行完sql语句得到结果后,对PDO对象进行错误检查 if ($res===false){ $errMS = $pdo->errorInfo(); ech

探讨在项目中如何处理错误信息

一个项目中肯定需要处理各种各样的错误.而对于这些错误,一方面需要程序反应出这些错误并可以让程序员快速地 定位到,另一方面,在发生某些错误时需要给用户适当的错误提示.比如某个请求的方法是 public User getUserInfo(String userId) 此时请求参数userId为null,我在项目中会这么做 public User getUserInfo(String userId){ Assert.notNull(userId, "userId不能为空"); // .. }