unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, DB, DBTables;
type
TForm1 = class(TForm)
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
Label1: TLabel;
Memo1: TMemo;
Query1: TQuery;
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses
unit2; //包含单元2
{$R *.dfm}
procedure TForm1.BitBtn1Click(Sender: TObject); //创建存储过程
begin
with Query1 do
begin
close;
SQL.clear;
SQL.Add('create procedure selecttable as select * from 教师表');
ExecSQL;
end;
end;
procedure TForm1.BitBtn2Click(Sender: TObject);//执行存储过程
begin
with Query1 do
begin
close;
SQL.Clear;
SQL.Add('exec selecttable');
open;
end;
Form2.DataSource1.DataSet:=Query1;
Form2.show;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Query1.DatabaseName:='DB2010';
//Database1.Params.Add('Username=sa');
//Database1.Params.Add('password=');
end;
end.
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, Grids, DBGrids;
type
TForm2 = class(TForm)
DBGrid1: TDBGrid;
DataSource1: TDataSource;
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
{$R *.dfm}
end.
Create Procedure 语法格式:
--------------------------------------------------
CREATE PROC[EDURE] procedure_name [;number]
[{@parameter data_type}
[VARYING] [=default] [OUTPUT]
],[,...n]
[FOR REPLICATION]
AS sql_statement [...n]
---------------------------------------------------
procedure_name 为创建的存储过程名称,该名称在数据库中必须是惟一的。
;number 是可选的整数,用来对同名的过程分组,当删除存储过程时,如果不指定该选项,会将该组存储过程全部删除。
@parameter 为存储过程中的参数,在创建存储过程时也可以不指定参数。
data_type 为参数的数据类型。所有数据类型(包括 text、ntext 和 image)均可以用作存储过程的参数。
VARYING 只适用于游标参数,指定为输出参数支持的结果集。
default 为参数的默认值。
OUTPUT 表明参数是返回参数。使用OUTPUT 参数可将信息返回给调用过程。
,...n 表示各个参数,在一个存储过程中最多可以使用2100个参数。
FOR REPLICATION 指定不能在订阅服务器上执行为复制创建的存储过程。使用FOR REPLICATION选项创建的存储过程可用作存储过程筛选,且只能在复制过程中执行。
AS sql_statement 指定要执行的SQL语句。