当前位置: 首页 > news >正文

盐城哪里做网站福建网络seo关键词优化教程

盐城哪里做网站,福建网络seo关键词优化教程,国内网站做国外服务器,汽油价格网参见:Delphi 中 FireDAC 数据库连接(总览)本主题描述了如何用FireDAC处理数据库错误。一、概述EFDDBEngineException类是所有DBMS异常的基类。单个异常对象是一个数据库错误的集合,可以通过EFDDBEngineException.Errors[]属性访问…

参见:Delphi 中 FireDAC 数据库连接(总览)

本主题描述了如何用FireDAC处理数据库错误。

一、概述

EFDDBEngineException类是所有DBMS异常的基类。单个异常对象是一个数据库错误的集合,可以通过EFDDBEngineException.Errors[]属性访问,并由TFDDBError类表示。

FireDAC结合了 "个性化 "和EFDDBEngineException异常和TFDDBError错误类的统一。"个性化 "意味着一个驱动程序可以有自己的异常和错误类,其中包含DBMS的特定信息。

DBMS

Exception class

Error class

Advantage Database

FireDAC.Phys.ADSWrapper.EADSNativeException

FireDAC.Stan.Error.TFDDBError

DataSnap server

FireDAC.Phys.TDBXBase.ETDBXNativeException

FireDAC.Stan.Error.TFDDBError

dbExpress v4

FireDAC.Phys.TDBXBase.ETDBXNativeException

FireDAC.Stan.Error.TFDDBError

Firebird

FireDAC.Phys.IBWrapper.EIBNativeException

FireDAC.Phys.IBWrapper.TFDIBError

IBM DB2

FireDAC.Phys.DB2.EDB2NativeException

FireDAC.Phys.ODBCWrapper.TFDODBCNativeError

Informix

FireDAC.Phys.Infx.EInfxNativeException

FireDAC.Phys.Infx.TFDInfxError

InterBase

FireDAC.Phys.IBWrapper.EIBNativeException

FireDAC.Phys.IBWrapper.TFDIBError

Microsoft Access

FireDAC.Phys.MSAcc.EMSAccessNativeException

FireDAC.Phys.ODBCWrapper.TFDODBCNativeError

Microsoft SQL Server

FireDAC.Phys.MSSQL.EMSSQLNativeException

FireDAC.Phys.MSSQL.TFDMSSQLError

MySQL

FireDAC.Phys.MySQLWrapper.EMySQLNativeException

FireDAC.Phys.MySQLWrapper.TFDMySQLError

ODBC

FireDAC.Phys.ODBCWrapper.EODBCNativeException

FireDAC.Phys.ODBCWrapper.TFDODBCNativeError

Oracle

FireDAC.Phys.OracleWrapper.EOCINativeException

FireDAC.Phys.OracleWrapper.TOCIError

PostgreSQL

FireDAC.Phys.PGWrapper.EPgNativeException

FireDAC.Phys.PGWrapper.TFDPgError

SQLite

FireDAC.Phys.SQLiteWrapper.ESQLiteNativeException

FireDAC.Stan.Error.TFDDBError

Sybase SQL Anywhere

FireDAC.Phys.ASAWrapper.EASANativeException

FireDAC.Phys.ODBCWrapper.TFDODBCNativeError

Teradata Database

FireDAC.Phys.TData.ETDataNativeException

FireDAC.Phys.ODBCWrapper.TFDODBCNativeError

TFDDBError有一个ErrorCode属性,它是本地DBMS的错误代码。

"统一 (Unification)"意味着所有的驱动程序异常类都继承自EFDDBEngineException--一个单一的基类,包含独立于驱动程序的信息。它的Kind属性是一个独立于DBMS的错误代码。例如,处理唯一键违例的代码可能如下:

tryFDQuery1.ExecSQL('insert into MyTab(code, name) values (:code, :name)', [100, 'Tokyo']);
excepton E: EFDDBEngineException do beginif E.Kind = ekUKViolated thenShowMessage('Please enter unique value !');raise;end;
end;

二、错误信息

  1. 错误信息主要由EFDDBEngineException属性呈现。

  • Errors -- TFDDBError对象的集合。

  • ErrorCount -- Errors集合中的错误数量。

  • Kind -- 独立于DBMS的错误种类。

  • Message -- 实际的错误信息。

  1. 并由TFDDBError属性。

  • ErrorCode -- DBMS供应商特定的错误代码。

  • Kind -- DBMS独立的错误种类。

  • Message -- 错误信息。

为了简化应用程序的调试或使异常记录的信息量更大,EFDDBEngineException提供了SQL和Params属性。

另外,根据错误区域和DBMS提供高级错误信息的能力,以下的TFDDBError属性是有用的。

  • 当涉及到SQL解析错误时,CommandTextOffset返回SQL命令文本中的偏移。

  • 当涉及到违反约束条件、DB对象更改失败或其他一些错误时,ObjName属性会返回一个数据库对象的名称。

  • 当涉及到一个数组DML错误时,那么RowIndex返回错误所属的数组行索引。

三、处理异常情况

  1. 异常可以通过以下方式之一进行处理。

  • 使用try/except/end结构。这是一种标准的Delphi处理异常的方式。比如说:

FDConnection1.StartsTransaction;
tryFDQuery1.ExecSQL;FDConnection1.Commit;
excepton E: EFDDBEngineException do beginFDConnection1.Rollback;// do something hereraise;end;
end;
  • 设置TFDQuery.OnError事件处理程序。

  • 设置TFDConnection.OnError事件处理程序。这些都是处理异常记录或异常 "调整 "的好方法。比如说:

procedure TForm1.FDConnection1Error(ASender: TObject; const AInitiator: IFDStanObject;var AException: Exception);
varoExc: EFDDBEngineException;
beginif AException is EFDDBEngineException then beginoExc := EFDDBEngineException(AException);if oExc.Kind = ekRecordLocked thenoExc.Message := 'Please, try the operation later. At moment, the record is busy'else if (oExc.Kind = ekUKViolated) and SameText(oExc[0].ObjName, 'UniqueKey_Orders') thenoExc.Message := 'Please, provide the unique order information. It seems, your order was already put';end;
end;FDConnection1.OnError := FDConnection1Error;
  • 设置TFDQuery.OnExecuteError事件处理程序,用于处理Array DML的具体错误。

  • 设置TFDQuery.OnUpdateError事件处理程序,用于处理更新发布的错误。

  • 设置TFDConnection.OnLost, OnRestored, OnRecover事件处理程序,用于处理连接丢失的错误。

四、使用终端用户错误对话框

在TFDGUIxErrorDialog组件的帮助下,终端用户可以得到关于数据库返回错误的通知。

要使用该对话框,只需将该组件放在表单的某个地方。对话框钩住TApplication.OnException事件处理程序,当有一个未处理的FireDAC异常时,就会弹出对话框。在 "查询 "页面,你可以看到由异常产生的SQL命令文本。在对话框中按下Ctrl+C可以将完整的异常信息放入剪贴板。

http://www.hkea.cn/news/167652/

相关文章:

  • 网站设计说明书怎么写网站建设平台官网
  • 有建网站的软件阿里云域名注册万网
  • 站长工具排名分析怎么创建公司网站
  • 网站建设标书四川seo哪里有
  • 接网站开发做多少钱建一个外贸独立站大约多少钱
  • wordpress表单录入seo报告
  • python做网站显示表格星巴克seo网络推广
  • 一个com的网站多少钱管理微信软件
  • 蒙阴网站建设软文代写网
  • 用python做一旅游网站南昌seo计费管理
  • 湖北省建设厅win10优化软件哪个好
  • 湖南企业建站系统平台软文有哪些发布平台
  • 南通 网络 公司网站真正免费建站
  • 做图骂人的图片网站网络服务
  • wordpress主标题副标题seo基础
  • 淮安做网站优化百度竞价排名是什么方式
  • 食品公司网站源码谷歌网页
  • 做网站用哪种代码比较好推广seo发贴软件
  • 3d效果图软件宁波seo行者seo09
  • 美国做按摩广告的网站网站优化教程
  • wordpress云建站教程信息流广告公司一级代理
  • 我有一个域名怎么做网站百度一下下载
  • 郑州网站建设品牌好安装百度到桌面
  • 株洲做网站定制百度灰色词优化排名
  • 上海网页设计公司兴田德润电话排名优化外包公司
  • 做360网站优化快推广普通话宣传语手抄报
  • 动态网站开发语言有哪些大学生创新创业大赛
  • 关键词推广公司网站网络排名优化方法
  • 福州移动网站建设网络营销推广工具有哪些
  • win2008sr怎么用iis做网站国外网站加速