网上对该问题的帖子很多,但是经常不是很全面,笔者在使用时也遇到了很多实际问题,比如参数不存在啊、类型没有引用啊等等。下面我尽量细致地来通过例子实现一下,如果还有不正确的地方,希望得到高手指点,有兴趣的可以和我一同探讨。[email]zyf0808@yeah.net[/email]。QQ:65127444

首先,我们使用一种简单的方式,即通过控件的方式来定义存储过程和数据源。
新建一个单元,命名为:DataMConn,在加入一个ADO单元下的ADOStoredProc,这里命名为ADOSPTempAbove ,再加入Data Access单元下的一个DataSource,这里命名为DataSourceAbove,设置DataSourceAbove的DataSet属性为ADOSPTempAbove,当然这个属性也可以在程序中指定。
下面,可以在另一个单元中添加一个DataGrid,这里的命名为dgAbove。下面的代码加了详细注释。
With DataMConn.ADOSPTempAbove do
    begin
      ProcedureName := 'GetAbove';   //指定存储过程名称
      Parameters.Clear;              //清除原有参数
      //以下创建了两个新的参数,关于如何传递表名做为参数请参我在 数据库 分类的高级应用中写的文章。
      Parameters.CreateParameter('@tableName',ftString,pdinput,20,0);
      Parameters.CreateParameter('@strDate',ftString,pdinput,20,0);
      //以下为参数赋值
      Parameters.ParamByName('@tableName').Value := tempTableName;
      Parameters.ParamByName('@strDate').Value := strDate;
      try
        Open;   //返回结果集用open,否则用EexcProc;
      except
       begin
         ShowMessage('打开表错误');
         Exit;
       end;
      end;
    //如果没有在控件属性中设置DataSourceAbove的DataSet属性,可以在这里设置:
    //DataSourceAbove.DatSet := DataMConn.ADOSPTempAbove 
    dgAbove.DataSource := DataMConn.DataSourceAbove;
  end;

转载于:https://blog.51cto.com/august/6905

DELPHI存储过程调用相关推荐

  1. 存储过程和函数——概述||创建存储过程||调用存储过程||查看存储过程||删除存储过程

    存储过程和函数概述 存储过程和函数是事先经过编译并存储在数据库中的一段 SQL 语句的集合, 调用存储过程和函数可以简化应用开发人员的很多工作,减少数据在数据库和应用服务器之间的传输,对于提高数据处理 ...

  2. j2ee之存储过程调用

    /** 存储过程调用*/public Object findCallByNativeSql(final String sql ,final int resultType , final Object. ...

  3. Oracle 存储过程调用语句

    #oracle 存储过程调用语句 declare v_custName varchar2(10); --客户姓名 v_num number; --订单分布天数 v_time number; --每日订 ...

  4. [转载]:C#两种不同的存储过程调用方法

    两种不同的存储过程调用方法 为了突出新方法的优点,首先介绍一下在.NET中调用存储过程的"官方"方法.另外,本文的所有示例程序均工作于SqlServer数据库上,其它情况类似,以后 ...

  5. .NET中统一的存储过程调用方法(收藏)

    摘要:在一个项目的开发中,经常会调用数据库中的存储过程.可是,几乎所有存储过程的调用都是同一个模式,主要区别就在于创建的每个参数类型.值等不一样.那么,能不能实现通过一个函数(或者类)调用所有的存储过 ...

  6. 如何在Delphi 中调用C#生成的DLL类库

    最近需要写一个和给上位机和下位机通讯的接口,而上位机是用Delphi开发的,所以就需要用C#做一类库给Delphi调用 大概步骤: 1.首先在VS2008中新建一个类项目名为TestDelphi,然后 ...

  7. sql server 查询某个表被哪些存储过程调用

    sql server 查询某个表被哪些存储过程调用 select distinct object_name(id) from syscomments where id in (select id fr ...

  8. SqlServer存储过程调用接口

    因项目需求.需实现新增数据->触发器->存储过程->调用接口. https://blog.csdn.net/u010485134/article/details/58603370 另 ...

  9. 存储过程调用不同数据库的数据

    存储过程调用不同数据库的数据 在存储过程调用不同数据库的数据该如何做,比如在存储过程名为AAA的存储过程里面调用数据库为hudu1,hudu2,hudu3里面的数据来统计? 在同一台数据库服务器上:  ...

最新文章

  1. Docker 清理命令集锦
  2. 面试题之判断栈的入栈和出栈序列的合法性
  3. php组合查询,PHP组合查询多条件查询实例代码第1/2页
  4. easypoi设置黑色边框_迷人的G-SHOCK MTG-B1000XBD,碳纤维与黑色金属的魅力
  5. 原来每天喝它有助于大脑开发?
  6. 解决频率选择性衰落的措施_螺杆压缩机,振动怎么办?解决办法在这里
  7. PC-hosts 的使用 [可使电脑无法正常上网]
  8. 阿里云存储:做深基础,助力新基建 | 凌云时刻
  9. linux系统添加网卡驱动,linux添加网卡及驱动
  10. 计算机辅助翻译专业实训报告,计算机辅助翻译实训报告格式.docx
  11. linux安装docker容器(copy就完了)
  12. ubuntu20.04安装burpsuite
  13. WinXP去掉桌面图标阴影
  14. 电子签名如何制作——word
  15. c语言会议安排编程,我院召开《C语言程序设计》课程教学研讨会
  16. Python 中的数字到底是什么?
  17. HDU1263:水果
  18. AMQ9208: Error on receive from host,AMQ9999: Channel ‘ACLIENT‘ to host ‘192.168.159.1‘ ended abnorma
  19. 易语言从html中获取验证码,易语言过腾讯滑块验证码模块源码和调用例程
  20. html按钮激活状态有边框,HTML按钮边框

热门文章

  1. rhel系统启动过程_linux系统启动过程及运行等级详解
  2. php 中 date转换为字符串,PHP 时间与字符串的相互转化
  3. 共用体知识及 I - 共用体练习
  4. Java解析SQL生成语法树_Atitit.sql ast 表达式 语法树 语法 解析原理与实现 java php c#.net js python...
  5. inspect python模块_Python inspect模块:仅限关键字参数
  6. 南京廖华计算机二级考试答案,全国计算机二级考试习题题库(附答案)
  7. linux锁定账号 让其不能修改密码,passwd - 用于让用户可以更改自己的密码
  8. JS !(非运算)详解
  9. emmc linux 识别分区_linux下给U盘分区并制作文件系统
  10. oracle 控制文件在哪里设置_oracle的controlfile控制文件