📄 e23.pas
字号:
unit E23;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, Grids, DBGrids, StdCtrls, Buttons, ExtCtrls, DBTables,
DBCtrls, ExtDlgs, Mask;
type
TfmE23 = class(TForm)
Label1: TLabel;
Panel2: TPanel;
Connect: TADOConnection;
dbgA: TDBGrid;
dsA: TDataSource;
dSetA: TADODataSet;
DBedt0: TDBEdit;
dsEdt: TDataSource;
edtH: TEdit;
cmbSex: TComboBox;
LbR: TLabel;
btnOpen: TBitBtn;
btnClose: TBitBtn;
btnSearD: TBitBtn;
btnSearN: TBitBtn;
Memo: TMemo;
qryC: TADOQuery;
OpenDialog: TOpenDialog;
CmdA: TADOCommand;
btnLoad: TBitBtn;
btnExecSQL: TBitBtn;
btnDropProc: TBitBtn;
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure btnOpenClick(Sender: TObject);
procedure btnDropProcClick(Sender: TObject);
procedure btnExecSQLClick(Sender: TObject);
procedure DBedt0KeyPress(Sender: TObject; var Key: Char);
procedure dbgACellClick(Column: TColumn);
procedure btnCloseClick(Sender: TObject);
procedure btnSearDClick(Sender: TObject);
procedure btnLoadClick(Sender: TObject);
procedure btnSearNClick(Sender: TObject);
private { Private declarations }
public { Public declarations }
end;
const T=True; F=False;
var
fmE23: TfmE23;
////////////////////////////////////////////////////////////////////////////////
implementation
{$R *.dfm}
procedure TfmE23.FormCreate(Sender: TObject);
begin
dSetA.Connection:=Connect;
CmdA.Connection:=Connect;
qryC.Connection:=Connect;
dbgA.DataSource:=dsA;
dsA.DataSet:=dSetA;
DBedt0.DataField:='Birth';
DBedt0.DataSource:=dsEdt;
dsEdt.DataSet:=dSetA;
CmdA.ParamCheck:=T;
qryC.ParamCheck:=T;
memo.ShowHint:=T;
memo.Hint:='此处书写SQL语句';
end;
//==============================================================================
procedure TfmE23.btnOpenClick(Sender: TObject);
begin
dsA.Enabled:=T;
{
//方法1
dSetA.CommandType:=CmdText;
dSetA.CommandText:='SELECT * From Basic';
dSetA.Open;
}
//方法2
cmdA.CommandText:='SELECT * FROM BASIC';
dSetA.Recordset:=cmdA.Execute;
{
//方法3
dsA.DataSet:=qryC;
dsEdt.DataSet:=qryC;
qryC.Close;
qryC.SQL.Text:='SELECT * FROM BASIC';
qryC.Open;
}
end;
//==============================================================================
procedure TfmE23.FormClose(Sender: TObject; var Action: TCloseAction);
begin
dSetA.Close;
qryC.Close;
end;
//==============================================================================
procedure TfmE23.btnDropProcClick(Sender: TObject);
begin
qryC.ParamCheck:=F;
qryC.Close;
qryC.SQL.Text:='Drop procedure proc_PP';
try
qryC.ExecSQL;
except
qryC.Cancel;
Showmessage(' 不存在');
end;
end;
//==============================================================================
procedure TfmE23.btnExecSQLClick(Sender: TObject);
begin
qryC.ParamCheck:=F;
qryC.Close;
qryC.SQL.Text:=memo.Lines.Text;
try
qryC.ExecSQL;
except
qryC.Cancel;
Showmessage('已经存在 或语句错误');
end;
end;
//==============================================================================
procedure TfmE23.DBedt0KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
dsA.DataSet.Refresh;
end;
//==============================================================================
procedure TfmE23.dbgACellClick(Column: TColumn);
begin
dsEdt.AutoEdit:=T;
end;
//==============================================================================
procedure TfmE23.btnCloseClick(Sender: TObject);
begin
dsA.Enabled:=F;
end;
//==============================================================================
procedure TfmE23.btnSearDClick(Sender: TObject);
var
sx, sh: string;
begin
dsA.Enabled:=T;
if cmbSex.Text='男' then
sx:='M'
else
sx:='F';
sh:=Trim(edtH.Text);
dSetA.Close;
dSetA.CommandType:=CmdText;
{
//方法1
dSetA.CommandText:='SELECT * From Basic Where Sex=''' +sx
+''' AND High>='+sh;
//---方法1
}
//方法2
dSetA.Parameters.Clear;
dSetA.Parameters.CreateParameter('Sex',ftString,pdInput,0,0);
dSetA.Parameters.CreateParameter('High',ftString,pdInput,0,0);
dSetA.Parameters.Items[0].Value:=sx;
dSetA.Parameters.Items[1].Value:=sh;
dSetA.CommandText:=
'SELECT * From Basic Where Sex=:sx AND High>=:sh';
//---方法2
dSetA.Open;
dbgA.Refresh;
end;
//==============================================================================
procedure TfmE23.btnLoadClick(Sender: TObject);
begin
OpenDialog.InitialDir:='D:\MyD\';
if OpenDialog.Execute then
memo.Lines.LoadFromFile(OpenDialog.FileName);
end;
//==============================================================================
procedure TfmE23.btnSearNClick(Sender: TObject);
var
sx: String;
sh: String;
n: word;
begin
if cmbSex.Text='男' then
sx:='M'
else
sx:='F';
sh:=Trim(edtH.Text);
qryC.ParamCheck:=F;
qryC.Close;
qryC.SQL.Text:='Select * From Proc_PP ('+sh+','''+sx+''')';
qryC.Open;
n:=qryC.FieldValues['rr'];
// n:=qryC.Fields[0].Value;
LbR.Caption:='查到 '+IntToStr(n)+' 条';
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -