曹次华
一、概述
二、创建存储过程
在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数据库。
3、设置ProcedureName参数,指定存储过程名,也可以在程序运行期设置。
4、单击TParameters边上的省略号按钮,如果设置正确,则可看到所有的输入输出参数。
5、在代码中设置存储过程的输入参数、执行存储过程并获取返回的数据。
通过调用TADOStoredProc控件的parambyname方法,设置好所有的输入参数,再调用open方法执行存储过程。如果存储过程返回参数,同样用parambyname方法获取参数值,如果返回数据集,则用访问数据集的TFields的方法获取各记录。如以下代码所示:
ADOStoredProc1.close;
ADOStoredProc1.parameters.parambyname('@dwmc').value:='某某单位';
ADOStoredProc1.prepared:=true;
ADOStoredProc1.open;
label1.caption:= ADOStoredProc1.fields[0].asstring; URL:http://www.qqread.com/delphi/q218403.html
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
相关专题
- SQL Server 数据处理专题 (1843篇文章)
- SQL Server 索引和查询专题 (3296篇文章)
- SQL Server (1801篇文章)
- 存储过程 (2935篇文章)
- 网络存储—光纤通道 (2994篇文章)
- Wlan组网----家庭专题 (4108篇文章)
- 服务器存储专栏 (8244篇文章)
- SQL Server开发 (98篇文章)
- sql 存储过程 (132篇文章)
- SQL Server (1803篇文章)
- delphi三十六之加密篇 (543次浏览)
- 用Delphi做一个OpenGL控件 (313次浏览)
- 用Delphi制作录音程序 (312次浏览)
- 用Delphi编写点对点传文件程序 (309次浏览)
- Delphi笔试题 (155次浏览)
- 将鼠标锁定在一定范围 (151次浏览)
- Delphi设计PhotoShop型弹出菜单 (144次浏览)
- 用DELPHI 设 计 屏 幕 保 护 程 序 (118次浏览)
- 用Delphi7设计FTP上传软件 (115次浏览)
- 在Delphi中自动检测、建立数据库别名和表格 (111次浏览)



