📄 plsqltable.pas
字号:
unit PLSQLTable;
interface
uses
{$IFDEF LINUX}
SysUtils, Types, Classes, QGraphics, QControls, QForms, QDialogs, QStdCtrls,
QDBCtrls, QComCtrls, QExtCtrls, QGrids, QDBGrids, QButtons, OdacClx,
{$ELSE}
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
DBCtrls, ExtCtrls, Grids, DBGrids, StdCtrls, ComCtrls, Buttons, OdacVcl,
{$ENDIF}
{$IFDEF FPC}
LResources,
{$ENDIF}
DB, {$IFNDEF FPC}MemDS{$ELSE}MemDataSet{$ENDIF},
DBAccess, Ora, OdacDemoFrame, OdacDemoForm;
type
TPLSQLTableFrame = class(TOdacDemoFrame)
ToolBar: TPanel;
sqGet: TOraSQL;
Memo: TMemo;
sqPut: TOraSQL;
gdDept: TDBGrid;
dsDept: TDataSource;
quDept: TOraQuery;
Panel1: TPanel;
btOpen: TSpeedButton;
btClose: TSpeedButton;
btGet: TSpeedButton;
btPut: TSpeedButton;
DBNavigator: TDBNavigator;
Splitter1: TSplitter;
procedure btGetClick(Sender: TObject);
procedure btPutClick(Sender: TObject);
procedure btOpenClick(Sender: TObject);
procedure btCloseClick(Sender: TObject);
private
{ Private declarations }
public
procedure SetDebug(Value: boolean); override;
procedure Initialize; override;
end;
implementation
{$IFNDEF FPC}
{$IFDEF CLR}
{$R *.nfm}
{$ENDIF}
{$IFDEF WIN32}
{$R *.dfm}
{$ENDIF}
{$IFDEF LINUX}
{$R *.xfm}
{$ENDIF}
{$ENDIF}
procedure TPLSQLTableFrame.btGetClick(Sender: TObject);
var
St:string;
i:integer;
begin
sqGet.Execute;
Memo.Lines.Clear;
for i := 1 to sqGet.ParamByName('NameArr').Length do begin
if sqGet.ParamByName('NameArr').ItemIsNull[i] then
St:= ''
else
St:= sqGet.ParamByName('NameArr').ItemAsString[i];
Memo.Lines.Add(St);
end;
end;
procedure TPLSQLTableFrame.btPutClick(Sender: TObject);
var
i:integer;
begin
for i := 1 to sqGet.ParamByName('NameArr').Length do
sqPut.ParamByName('NameArr').ItemAsString[i]:= Memo.Lines[i - 1];
sqPut.Execute;
if quDept.Active then
quDept.Refresh
else
quDept.Open;
end;
procedure TPLSQLTableFrame.btOpenClick(Sender: TObject);
begin
quDept.Open;
end;
procedure TPLSQLTableFrame.btCloseClick(Sender: TObject);
begin
quDept.Close;
end;
procedure TPLSQLTableFrame.SetDebug(Value: boolean);
begin
sqGet.Debug := Value;
sqPut.Debug := Value;
quDept.Debug := Value;
end;
procedure TPLSQLTableFrame.Initialize;
begin
inherited;
sqGet.Connection := Connection;
sqPut.Connection := Connection;
quDept.Connection := Connection;
end;
initialization
{$IFDEF FPC}
{$I PLSQLTable.lrs}
{$ENDIF}
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -