📄 querymemberunit.pas
字号:
unit querymemberunit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, StdCtrls, ExtCtrls, DBCtrls, DB, ADODB, Grids, DBGrids;
type
Tfrm_querymember = class(TForm)
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
memberid: TEdit;
membername: TEdit;
Label10: TLabel;
sex: TComboBox;
folk: TComboBox;
GroupBox2: TGroupBox;
qbirthday: TDateTimePicker;
Label11: TLabel;
zbirthday: TDateTimePicker;
GroupBox3: TGroupBox;
Label12: TLabel;
qtime: TDateTimePicker;
ztime: TDateTimePicker;
edulevel: TComboBox;
address: TEdit;
tel: TEdit;
profession: TComboBox;
jb: TComboBox;
b_query: TButton;
b_clear: TButton;
GroupBox4: TGroupBox;
DBNavigator1: TDBNavigator;
GroupBox5: TGroupBox;
b_modify: TButton;
b_del: TButton;
GroupBox6: TGroupBox;
GroupBox7: TGroupBox;
inc: TRadioButton;
desc: TRadioButton;
id: TRadioButton;
name: TRadioButton;
hyjb: TRadioButton;
jointime: TRadioButton;
DBGrid1: TDBGrid;
q_member: TADOQuery;
ds_q_member: TDataSource;
delquery: TADOQuery;
procedure b_clearClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure b_queryClick(Sender: TObject);
procedure b_modifyClick(Sender: TObject);
procedure DBGrid1DblClick(Sender: TObject);
procedure incClick(Sender: TObject);
procedure descClick(Sender: TObject);
procedure idClick(Sender: TObject);
procedure nameClick(Sender: TObject);
procedure hyjbClick(Sender: TObject);
procedure jointimeClick(Sender: TObject);
private
{ Private declarations }
she,yhe:string;
public
{ Public declarations }
end;
var
frm_querymember: Tfrm_querymember;
implementation
uses datamoduleunit, changememberunit;
{$R *.dfm}
procedure Tfrm_querymember.b_clearClick(Sender: TObject);
begin
memberid.Clear;
membername.Clear;
address.Clear;
tel.Clear;
qbirthday.Date:=strtodate('1953-6-27');
zbirthday.Date:=now;
qtime.Date:=strtodate('1953-6-27');
ztime.Date:=now;
folk.Text:='';
sex.Text:='';
profession.Text:='';
edulevel.Text:='';
jb.Text:='';
q_member.Close;
q_member.SQL.Clear;
q_member.SQL.Add('select * from member');
she:='';
yhe:='';
q_member.Open;
end;
procedure Tfrm_querymember.FormShow(Sender: TObject);
begin
frm_querymember.b_clearClick(nil);
//q_member.Open;
//frm_querymember.b_queryClick(nil);
end;
procedure Tfrm_querymember.b_queryClick(Sender: TObject);
var s:string;
i:integer;
low,high:integer;
begin
s:='select * from member';
i:=0;
if memberid.Text<>'' then
begin
s:=s+' where 会员编号='+memberid.text;
i:=i+1;
end;
if membername.Text<>'' then
begin
if i=0 then
s:=s+' where 会员姓名='''+membername.Text+''''
else
s:=s+' and 会员姓名='''+membername.Text+'''';
i:=i+1;
end;
if sex.Text<>'' then
begin
if i=0 then
s:=s+' where 性别='''+sex.Text+''''
else
s:=s+' and 性别='''+sex.Text+'''';
i:=i+1;
end;
if folk.Text<>'' then
begin
if i=0 then
s:=s+' where 民族='''+folk.Text+''''
else
s:=s+' and 民族='''+folk.Text+'''';
i:=i+1;
end;
if profession.Text<>'' then
begin
if i=0 then
s:=s+' where 职业='''+profession.Text+''''
else
s:=s+' and 职业='''+profession.Text+'''';
i:=i+1;
end;
if i=0 then s:=s+' where ' else s:=s+' and';
s:=s+' 生日>='''+datetostr(qbirthday.Date)+'''';
s:=s+' and 生日<='''+datetostr(zbirthday.Date)+'''';
s:=s+' and 入会时间>='''+datetostr(qtime.Date)+'''';
s:=s+' and 入会时间<='''+datetostr(ztime.Date)+'''';
i:=i+1;
if edulevel.Text<>'' then
begin
if i=0 then
s:=s+' where 学历='''+edulevel.Text+''''
else
s:=s+' and 学历='''+edulevel.Text+'''';
i:=i+1;
end;
if jb.Text<>'' then
begin
if i=0 then
s:=s+' where 级别='''+jb.Text+''''
else
s:=s+' and 级别='''+jb.Text+'''';
i:=i+1;
end;
if tel.Text<>'' then
begin
if i=0 then
s:=s+' where 电话='''+tel.Text+''''
else
s:=s+' and 电话='''+tel.Text+'''';
i:=i+1;
end;
if address.Text<>'' then
begin
if i=0 then
s:=s+' where 地址='''+address.Text+''''
else
s:=s+' and 地址='''+address.Text+'''';
i:=i+1;
end;
she:=s; //目的是害怕累积查询语句;
yhe:=s;
q_member.Close;
q_member.SQL.Clear;
q_member.SQL.Add(s);
try
q_member.Open;
except
q_member.ExecSQL;
end;
end;
procedure Tfrm_querymember.b_modifyClick(Sender: TObject);
begin
frm_changemember:=tfrm_changemember.Create(self);
if sender=b_del
then frm_changemember.b_modify.Visible:=false
else frm_changemember.b_del.Visible:=false;
frm_changemember.ShowModal;
frm_changemember.Destroy;
end;
procedure Tfrm_querymember.DBGrid1DblClick(Sender: TObject);
begin
if b_modify.Enabled=false then exit;
frm_querymember.b_modifyClick(nil);
end;
procedure Tfrm_querymember.incClick(Sender: TObject);
var col:string;
begin
if she='' then begin
she:='select * from member'; //chax为操作查询出来后的sql语句;
yhe:=she;
end;
if id.Checked then col:='会员编号'
else if name.Checked then col:='会员姓名'
else if hyjb.Checked then col:='级别'
else col:='入会时间';
she:=she+' order by '+col+' asc';
q_member.Close;
q_member.SQL.Clear;
q_member.SQL.Add(she);
try
q_member.Open;
except
q_member.ExecSQL;
end;
she:=yhe;
end;
procedure Tfrm_querymember.descClick(Sender: TObject);
var col:string;
begin
if she='' then begin
she:='select * from member';
yhe:='select * from member';
end;
if id.Checked then col:='会员编号'
else if name.Checked then col:='会员姓名'
else if hyjb.Checked then col:='级别'
else col:='入会时间';
she:=she+' order by '+col+' desc';
q_member.Close;
q_member.SQL.Clear;
q_member.SQL.Add(she);
try
q_member.Open;
except
q_member.ExecSQL;
end;
she:=yhe;
end;
procedure Tfrm_querymember.idClick(Sender: TObject);
var s:string;
x:string;
begin
if inc.Checked then s:=' asc' else s:=' desc';
if she='' then
begin
she:='select * from member';
yhe:='select * from member';
end;
x:=she+' order by 会员编号'+s;
q_member.Close;
q_member.SQL.Clear;
q_member.SQL.Add(x);
try
q_member.Open;
except
q_member.ExecSQL;
end;
she:=yhe;
end;
procedure Tfrm_querymember.nameClick(Sender: TObject);
var s:string;
x:string;
begin
if inc.Checked then s:=' asc' else s:=' desc';
if she='' then begin
she:='select * from member';
yhe:='select * from member';
end;
x:=she+' order by 会员姓名'+s;
q_member.Close;
q_member.SQL.Clear;
q_member.SQL.Add(x);
try
q_member.Open;
except
q_member.ExecSQL;
end;
she:=yhe;
end;
procedure Tfrm_querymember.hyjbClick(Sender: TObject);
var s:string;
x:string;
begin
if inc.Checked then s:=' asc' else s:=' desc';
if she='' then begin
she:='select * from member';
yhe:='select * from member';
end;
x:=she+' order by 级别'+s;
q_member.Close;
q_member.SQL.Clear;
q_member.SQL.Add(x);
try
q_member.Open;
except
q_member.ExecSQL;
end;
she:=yhe;
end;
procedure Tfrm_querymember.jointimeClick(Sender: TObject);
var s:string;
x:string;
begin
if inc.Checked then s:=' asc' else s:=' desc';
if she='' then begin
she:='select * from member';
yhe:='select * from member';
end;
x:=she+' order by 入会时间'+s;
q_member.Close;
q_member.SQL.Clear;
q_member.SQL.Add(x);
try
q_member.Open;
except
q_member.ExecSQL;
end;
she:=yhe;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -