Delphi中使用存储过程

时间:2010-02-05 17:12:32  来源:第二电脑网  作者:第二电脑网

  第二电脑网导读:个共同的特点,即将所有数据库记录从服务器取回客户端,再根据查询的条件进行筛选。很明显,如果有大量的数据在服务器与客户端之间传递,就会降低程序执行的速度,影响应用程序的性能。针对这种情况,MS   SQL   Server数据库和Delphi开发工具都提供了存储过程来解决这类问题。存储过程是一段在服务器上执行的程序,它在服务器端对数据库记录进行处理,再把结果返回...
  正文:一、概述
Delphi + MS SQL Server是目前最为流行的管理信息系统开发环境和工具。Delphi的强大数据库操作控件极大地减轻了开发人员的工作量,在这些控件中,最常用的有 TQuery、TTable、TADOQuery、TADOTable、TADODataSete等,这些控件执行查询操作时有一个共同的特点,即将所有数据库记录从服务器取回客户端,再根据查询的条件进行筛选。很明显,如果有大量的数据在服务器与客户端之间传递,就会降低程序执行的速度,影响应用程序的性能。针对这种情况,MS   SQL   Server数据库和Delphi开发工具都提供了存储过程来解决这类问题。存储过程是一段在服务器上执行的程序,它在服务器端对数据库记录进行处理,再把结果返回到客户端。通过使用存储过程,一方面可以利用服务器强大的计算能力和速度,另一方面避免把大量的数据从服务器下载到客户端,减少网络上传输量,服务器只需将计算结果传给客户端,其效率之高是非常明显的。
二、创建存储过程
在MS SQL Server上的存储过程可分为二类,一类是类似于select查询,用于检索数据,检索到的数据能够以数据集的形式返回给客户端,如

CREATE   procedure   proc1
@dw   char(20)
as
select   dwdm   from   cchdwdm   where   dw=@dw

该存储过程有一个输入参数   @dwdm,以数据集的形式返回结果。
另一类存储过程是通过输出参数返回信息或不返回信息,或只执行一个动作。如:

CREATE   procedure   proc2
@m1   smallint,
@m2   smallint
@result   int   OUTPUT
as
select   @result=@m1*@m2

该存储过程有二个输入参数@m1、@m2,还有一个输出参数@result。  
按照创建存储过程的时机来划分,创建存储过程也有二种方式,一是利用MS SQL   Server的Enterprise  Manager中的SQL Server Query Analyzer工具,此方法较简单,只要输入存储过程语句并保存即可。
创建存储过程的另一种方式是利用Delphi的控件,如TQuery、TADOQuery,通过使用SQL语句在运行时动态地创建存储过程。如下例所示。

with query1 do
  begin
    paramcheck := false;
    with SQL do
      begin
        clear;
        add(’create   procedure   proc1’);
        add(’@dw   char(20)’);
        add(’as’);
        add(’select dwdm from cchdwdm where dw=@dw’);
      end
      execsql;
    end;


三、存储过程的参数
存储过程一般有四种参数类型:
输入参数,由客户程序向存储过程传递
输出参数,由存储过程向客户传递
输入/输出参数,可双向传递
状态参数,由存储过程向客户返回错误信息
通过使用Delphi控件TADOStoredProc或TStoredProc来设置或获取存储过程的参数,如:

ADOStoredProc1.parameters.parambyname(’@name’).value:=’张三’;

四、在Delphi中使用存储过程的方法
在Delphi中使用存储过程有以下几个步骤:
1、把TADOStoredProc或TStoredProc放到窗体上。
2、设置参数连接到MS   SQL   Server数据库。
"Delphi中使用存储过程"由第二电脑网原创提供,转载请注明:http://www.002pc.com/master/College/Language/Delphi/12793.html


关键字:

关于《Delphi中使用存储过程》文章的评论

站内搜索: 高级搜索

热门搜索: Windows style 系统 tr IP QQ CPU 安装 function 注册 if td