当前位置: 传客网 > ADOQuery执行带返回值的存储过程

ADOQuery执行带返回值的存储过程

2016-12-31 作者:围墙

{
   作者: 围墙
      返回: 存储过程的返回值.
   说明: 这仅仅是一个例子,网上也有人用其他存储过程组件实现执行带参数的存储过程,但是这个例子用的是                     TADOQuery对象,类似的例子网络上非常少,所以我才贴出源码来!这是我围墙原创所写!2016-12-30
}
function CallSQLProcedure(q: TADOQuery): Integer;
begin
    Result := 0;
    with q do
    begin
        Close;
        SQL.Clear;
        SQL.Add('exec SQLProcedureName :ParamIn, :ParamOut output');
        Parameters.Clear;
        Parameters.CreateParameter('ParamIn', ftInteger, pdInput, 4, FID);
        Parameters.CreateParameter('ParamOut', ftInteger, pdOutput, 0, 0); // 存储过程返回参
        Prepared:=true;
        try
            ExecSQL;
//            Result := q.Parameters.ParamValues['ParamOut']; // 可行的,下面一句也可行
            Result := q.Parameters.ParamByName('ParamOut').Value;
        except
        end;
    end;
end;  
{
   作者: 围墙
 语句,并带原子性操作效果
    返回: 是否执行成功.
   说明: 这个例子相对简单,单类似的例子网络上也不少,但大部分都是执行单一指令语句!这是围墙原创所写!2016-12-30
}
function ExecSQLs(q: TADOQuery): Boolean;
begin
    Result := False;
    with q do
    begin
        Close;
        SQL.Clear;
        SQL.Add('begin tran');
        SQL.Add('delete table1 where PID='+IntToStr(FID));
        SQL.Add('update table2 set Status=10,CreateTime=getdate() where ID='+IntToStr(FID));
        SQL.Add('commit tran');
        try
            ExecSQL;
            Result := True;
        except
        end;
    end;
end;  



相关推荐

  • Oracle存储过程返回结果集

    过程返回记录集:CREATEORREPLACEPACKAGEpkg_testASTYPEmyrctypeISREFCURSOR;PROCEDUREget(p_idNUMBER,p_rcOUTmyrctype);ENDpkg_test;/CR

  • oracle存储过程返回记录集

    oracle存储过程返回记录集  关于数据库的游标(cursor)大家肯定都接触不少,我们可以通过OPEN,FETCH,CLOSE操作控制游标进行各种方便的操作,这方面的例子我就不在重复了。我们现在要介绍的是游标变量(cursorvaria

  • 从存储过程里面执行http post发短消息

    从存储过程里面直接执行短信网关的URL,将短消息发出,测试下来还是比较稳定的。要注意的就是文件结尾的char(13)很讨厌,它会导致发信失败,后来发现一个规律,如果最后一个字符的ascii码为0时,就取right(str,len(str)-

  • mysql如何让一个存储过程定时执行

    mysql怎么让一个存储过程定时执行查看event是否开启:showvariableslike'%sche%';将事件计划开启:setglobalevent_scheduler=1;关闭事件任务:alterevente_testONCOMP

  • EF 调用存储过程、返回多结果集和OUTPUT参数 等问题

    一、EF调用存储过程:1.执行返回表类型的存储过程先上存储过程随手写的一个最简单的.Student.Enrollment,StudentEnrollment.StudentIDStudent.StudentIDEnrollment.Stud

  • C#运用存储过程新增一条记录并返回自动生成的ID

    @Hcy黄灿奕:http://blog.sina.com.cn/iihcy前言:1、存储过的好处:存储过程相对于其他的数据库访问方法有以下的优点:(1)重复使用。存储过程可以重复使用,从而可以减少数据库开发人员的工作量。(2)提高性能。存储

  • Mysql存储过程、触发器和事务

    Mysql存储过程、触发器和事务一、存储过程定义存储过程语法:createprocedure过程名(参数1,参数2....)beginsql语句;end创建存储过程之前我们必须修改mysql语句默认结束符;要不能我们不能创建成功,使用del

  • 达内培训:.NET 中使用存储过程(二)

    下面是达内老师为大家分享的有关.NET中使用存储过程(二)的内容,前面我们继续为大家分享了.NET中使用存储过程(一)的内容,所以大家要努力学习。使用存储过程更新数据库  以上示例使用存储过程从数据库中提取信息。在复杂应用程序中使用存储过程

  • SQL存储过程基础知识【转载】

    原文链接:http://www.cnblogs.com/jiajiayuan/archive/2011/06/15/2081201.html什么是存储过程呢?存储过程就是作为可执行对象存放在数据库中的一个或多个SQL命令。通俗来讲:存储过程

  • JAVA 执行存储过程(和参数顺序无关,适用oracle数据库)

    通常jdbc调用oracle存储过程的输入输出参数都是按顺序,和java端的参数名称没关系,这样当存储过程修改参数时不是非常方便,字段一旦多的话容易错位,这类问题的排查效率也很低,所以想看看有没有办法java端的key值能和sql的参数名称

  • 使用OLE DB和ADO调用返回记录集的Oracle存储过程

    摘要OLEDB是建立在ODBC成功基础上的一种开放规范,它为访问和操纵不同类型数据提供开放的标准。ADO是OLDDB的一个消费者,它提供了对OLEDB数据源应用级的访问功能。在应用程序中使用OLEDB和ADO,可以高效地调用返回记录集的Or

  • 数据库存储过程

    【存储过程的概念】存储过程(StoredProcedure)是一组为了完成特定功能的SQL语句集。经编译后存储在数据库中。存储过程是数据库中的一个重要对象,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是由

  • 开发ORACLE存储过程

    简单地讲,Oracle存储过程就是存储在Oracle数据库中的一个程序。简单地讲,Oracle存储过程就是存储在Oracle数据库中的一个程序。一.写一个存储过程存储过程使用Oracle'sPL/SQL程序语言编写,写一个什么工作都不做的存

  • 转:java 调用存储过程 实例

    java调用存储过程实例共4个一.只有输入参数没有返回结果的存储过程二.有输入和有一个返回值的存储过程三、返回多行记录的存储过程(返回的是游标)四、Hibernate调用oracle存储过程一.只有输入参数没有返回结果的存储过程建表crea

  • oracle的存储过程

    存储过程procedure是用来完成特定任务的子程序(数据库中特别重要的)语法:createorreplaceprocedure过程名称(参数列表)is|as变量的定义begin可执行部分exception异常处理部分end;createo

  • 粗俗易懂的SQL存储过程在.NET中的实例运用

    整理了一下存储过程在项目中的运用,防止遗忘,便记录于此!存储过程(StoredProcedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中。用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程

  • JDBC执行存储过程的四种情况

    http://sishuok.com/forum/blogPost/list/488.html本文主要是总结如何实现JDBC调用Oracle的存储过程,从以下情况分别介绍:[1]、只有输入IN参数,没有输出OUT参数[2]、既有输入IN参数

  • Java调用Oracle存储过程

    存储过程使用:针对Oracle数据库,其他数据库类同;共4个一.只有输入参数没有返回结果的存储过程二.有输入和有一个返回值的存储过程三、返回多行记录的存储过程(返回的是游标)四、Hibernate调用oracle存储过程一.只有输入参数没有

  • [Delphi源码]存储过程参数查看器_存储过程助手.rar

    [Delphi源码]存储过程参数查看器_存储过程助手.rar文件名称:[Delphi源码]存储过程参数查看器_存储过程助手.rar文件类型:免费文件大小:683K上传日期:2013-01-2117:26:53语言:中文推荐指数:☆

  • 粗俗易懂的SQL存储过程在.NET中的实例运用

    粗俗易懂的SQL存储过程在.NET中的实例运用整理了一下存储过程在项目中的运用,防止遗忘,便记录于此!存储过程(StoredProcedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中。用户通过指定存储过程的名字并给出参

返回
顶部