• delphi使用ODAC控件 TOraScript组件介绍


    TOraScript组件 

    执行SQL和PL / SQL语句。

    说明

    TOraScript组件,可以执行多个SQL语句,包括DML和DDL语句,使用分号(;)分隔单个语句。

    执行期间发生的错误可以在TDAScript.OnError事件中进行处理。 默认情况下,发生错误时,TOraScript会显示异常并继续执行。

    常用属性

    property Delimiter: string stored IsDelimiterStored; //设置分隔脚本语句的字符串。
    //默认是分号(;)。 如果Delimiter属性的值为分号,则可以使用斜杠(/)分隔执行包含分号的语句(存储过程,遇到分号,不能马上执行,需要通过斜杠(/)来执行)。 
    //注意,斜杠必须是行中的第一个字符。
    property Statements: TDAStatements; //包含从SQL属性获得的语句列表。
    //例子,不执行创建表的SQL语句
    with OraScript1 do 
    begin 
      SQL.Add('CREATE TABLE T_TESA(TCODE NUMBER(8), TNAME VARCHAR2(10));');
      SQL.Add('INSERT INTO T_TESA VALUES(1, ''a'');'); SQL.Add('INSERT INTO T_TESA VALUES(2, ''b'');');
      SQL.Add('INSERT INTO T_TESA VALUES(3, ''c'');');
      for I := 0 to Statements.Count - 1 do 
      begin
        if Copy(Statements[I].SQL, 1, 6) <> 'CREATE' then
        Statements[i].Execute;
      end;
    end;

    常用函数

    procedure Execute; virtual; //执行所有SQL语句。 如果Oracle引发错误,则会触发OnError事件。
    procedure ExecuteFile(const FileName: string); //执行文件中包含的SQL语句。
    //参数 FileName 文件名
    procedure BreakExec; virtual; //停止SQL语句执行。
    function ErrorOffset: Int64; //如果Execute方法引发异常,则调用ErrorOffset方法以获取语句的偏移量。
    //返回值 错误的偏移量。

    常用事件

    procedure BeforeExecute(Sender: TObject; var SQL: string; var Omit: boolean); //在执行当前SQL语句之前触发。
    //SQL 当前将执行的SQL语句的文本。 编写SQL来更改将要执行的语句。
    //Omit 是否跳过当前语句的执行,将Omit设置为True可跳过语句执行。  
    procedure OnError(Sender: TObject; E: Exception; SQL: string; var Action: TErrorAction); 
    //执行语句,Oracle发错误时发生。 //E 错误信息 //SQL 执行的SQL语句。 //Action OnError处理程序退出时要执行的操作。默认为eaFail。
    //TErrorAction = (eaAbort, eaFail, eaException, eaContinue);
    eaAbort 中止执行而不显示错误消息。
    eaContinue 继续执行。
    eaException 在Delphi 6和更高版本中,异常由Application.HandleException方法处理。
    eaFail 中止执行并显示错误消息。
  • 相关阅读:
    【转】vue常用开发ui框架(app,后台管理系统,移动端)及插件
    【转】VUE 组件转换为微信小程序组件的方法
    【转】微信小程序原生代码快速转换mpuve(vue)代码(仅供娱乐)
    goim Go 开发的 IM 和推送服务
    h5 canvas 多张图片合成并保存到手机相册
    netcore中设置环境变量ASPNETCORE_ENVIRONMENT
    Cookie 和 Session 区别是什么?
    python中的字符串格式化输出
    模型训练时样本类别不均衡怎么办?
    NumPy 数组索引、维度增加、拼接
  • 原文地址:https://www.cnblogs.com/txgh/p/14351850.html
Copyright © 2020-2023  润新知