存储过程
对于返回结果集的存储过程,用存储过程数据集TStoredProcDataSet调用
存储过程
CREATE PROCEDURE test_proc
@inprm int ,
@inprm1 int
AS
select * from table1 where id=@inprm+@inprm1
GO
平台上调用方法
Toggle line numbers
1 //DataSetCCGCSJJ1: TStoredProcDataSet; 存储过程数据集控件.
2 DataSetCCGCSJJ1.Params.ParamByName('@inprm').AsInteger:=1;
3 DataSetCCGCSJJ1.Params.ParamByName('@inprm1').AsInteger:=2;
4 DataSetCCGCSJJ1.Open;
对于不返回结果集的存储过程,用存储过程TStoredProc调用
存储过程
CREATE PROCEDURE test_proc
@inprm varchar(255) ,
@inprm1 varchar(255) ,
@inprm2 varchar(255) ,
@outprm varchar(255) output,
@outprm1 varchar(255) output,
@outprm2 varchar(255) output
AS
select @outprm=@inprm+@inprm1+@inprm2
select @outprm1=@inprm1+@inprm2+@inprm
select @outprm2=@inprm2+@inprm1+@inprm
GO
平台上调用方法
Toggle line numbers
1 //StoredProc1: TStoredProc; 存储过程控件.
2 //Memo1: TMemo 显示存储过程返回参数用.
3 StoredProc1.Params.ParamByName('@inprm').AsString:='1';
4 StoredProc1.Params.ParamByName('@inprm1').AsString:='2';
5 StoredProc1.Params.ParamByName('@inprm2').AsString:='3';
6 StoredProc1.Execute;
7 Memo1.Lines.Add(StoredProc1.Params.ParamByName('@outprm').AsString);
8 Memo1.Lines.Add(StoredProc1.Params.ParamByName('@OUTPRM1').AsString);
9 Memo1.Lines.Add(StoredProc1.Params.ParamByName('@OUTPRM2').AsString);
对于不返回结果集,也没有返回参数的,可以用存储过程TStrocProc调用,也可以用TQuery调用 |