📄 main.pas
字号:
unit main;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, StdCtrls, Grids, DBGrids;
type
TForm1 = class(TForm)
DBGrid1: TDBGrid;
ADOStoredProc1: TADOStoredProc;
DataSource1: TDataSource;
ADOConnection1: TADOConnection;
edtType: TEdit;
Edit2: TEdit;
btnExec: TButton;
Label1: TLabel;
Label2: TLabel;
btnExecute: TButton;
ADOQuery1: TADOQuery;
procedure btnExecClick(Sender: TObject);
procedure btnExecuteClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.btnExecClick(Sender: TObject);
begin
With ADOStoredProc1 do
begin
//输入参数
Parameters.ParamByName('@books_type').Value :=edtType.Text;
Prepared := True;
//调用存储过程并返回结果集和返回值
ExecProc;
//显示返回值
edit2.Text := Parameters.ParamByName('@books_count').Value;
end;
end;
procedure TForm1.btnExecuteClick(Sender: TObject);
begin
with ADOQuery1 do
begin
if Active then
Close;
SQL.Clear;
SQL.Add('--调用带参数的存储过程');
SQL.Add('--定义变量获取输出');
SQL.Add('use pubs');
SQL.Add('declare @bcount int');
SQL.Add('--执行存储过程');
SQL.Add('execute up_get_books_count');
SQL.Add(' ''' + edtType.Text + ''',');
SQL.Add(' @bcount output');
SQL.Add('--显示输出结果');
SQL.Add('select @bcount');
Open;
//设置数据源显示执行结果
if Active then
DataSource1.DataSet := ADOQuery1;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -