unit select;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, DB, SDEngine, BaseGrid, AdvGrid, DBXpress,
SqlExpr, StdCtrls, ComCtrls;
type
TSeachForm = class(TForm)
SDDatabase1: TSDDatabase;
AdvStringGrid1: TAdvStringGrid;
Changeshow: TButton;
quit: TButton;
qcondition: TComboBox;
content: TEdit;
lbl1: TLabel;
start: TLabel;
Edit2: TEdit;
edit1: TEdit;
stop: TLabel;
Label1: TLabel;
MonthCalendar1: TMonthCalendar;
MonthCalendar2: TMonthCalendar;
Button1: TButton;
procedure ChangeshowClick(Sender: TObject);
procedure quitClick(Sender: TObject);
procedure edit1Click(Sender: TObject);
procedure MonthCalendar1Click(Sender: TObject);
procedure Edit2Click(Sender: TObject);
procedure MonthCalendar2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure FormClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
SeachForm: TSeachForm;
implementation
{$R *.dfm}
procedure TSeachForm.ChangeshowClick(Sender: TObject);
var
condition,starttime,stoptime,str : String;
list,i : integer;
SDQuery : TSDQuery;
begin
list := 1;
condition := content.Text;
starttime := quotedstr(trim(edit1.Text));
stoptime := quotedstr(trim(edit2.Text));
case qcondition.ItemIndex of
0:str := ' where cardno= '+quotedstr(condition);
1:str := ' where startdate<= '+quotedstr(condition);
2:str := ' where traintype= '+quotedstr(condition);
3:str := ' where note= '+quotedstr(condition);
4:str := ' where name= '+quotedstr(condition);
end;
SDQuery := TSDQuery.Create(nil);
SDQuery.DatabaseName := SeachForm.SDDatabase1.DatabaseName;
try
AdvStringGrid1.BeginUpdate;
AdvStringGrid1.ClearNormalCells;
SDQuery.SQL.Clear;
//ShowMessage(Length(starttime));
if (Length(starttime)>2) and (Length(stoptime)>2) then
begin
if (Length(quotedstr(trim(content.Text)))>2) then
begin
SDQuery.SQL.Add('select * from realnamecard '+str+' and startdate<='+starttime+' and enddate>='+stoptime);
content.Text := '';
edit1.Text := '';
Edit2.Text := '';
end
else
begin
SDQuery.SQL.Add('select * from realnamecard where startdate<='+starttime+' and enddate>='+stoptime);
edit1.Text := '';
Edit2.Text := '';
end
end
else
begin
//ShowMessage('2222222');
SDQuery.SQL.Add('select * from realnamecard '+str);
//ShowMessage('select * from realnamecard '+str);
content.Text := '';
end;
SDQuery.Open;
while not SDQuery.Eof do
begin
AdvStringGrid1.Cells[0,list] := IntToStr(list);
//AdvStringGrid1.Cells[1,list] := SDQuery.FieldByName('cardident').AsString;
AdvStringGrid1.Cells[1,list] := SDQuery.FieldByName('cardno').AsString;
//AdvStringGrid1.Cells[3,list] := SDQuery.FieldByName('rncardno').AsString;
//AdvStringGrid1.Cells[4,list] := SDQuery.FieldByName('rncardstate').AsString;
//AdvStringGrid1.Cells[5,list] := SDQuery.FieldByName('icstate').AsString;
//AdvStringGrid1.Cells[6,list] := SDQuery.FieldByName('rncardtype').AsString;
//AdvStringGrid1.Cells[7,list] := SDQuery.FieldByName('rnuserno').AsString;
//AdvStringGrid1.Cells[8,list] := SDQuery.FieldByName('rnuserpass').AsString;
AdvStringGrid1.Cells[2,list] := SDQuery.FieldByName('name').AsString;
AdvStringGrid1.Cells[3,list] := SDQuery.FieldByName('sex').AsString;
//AdvStringGrid1.Cells[11,list] := SDQuery.FieldByName('nation').AsString;
//AdvStringGrid1.Cells[12,list] := SDQuery.FieldByName('address').AsString;
//AdvStringGrid1.Cells[13,list] := SDQuery.FieldByName('idcode').AsString;
//AdvStringGrid1.Cells[14,list] := SDQuery.FieldByName('idtype').AsString;
//AdvStringGrid1.Cells[15,list] := SDQuery.FieldByName('regorg').AsString;
AdvStringGrid1.Cells[4,list] := SDQuery.FieldByName('startdate').AsString;
//AdvStringGrid1.Cells[17,list] := SDQuery.FieldByName('enddate').AsString;
//AdvStringGrid1.Cells[18,list] := SDQuery.FieldByName('photopath').AsString;
//AdvStringGrid1.Cells[19,list] := SDQuery.FieldByName('birthday').AsString;
//AdvStringGrid1.Cells[20,list] := SDQuery.FieldByName('org').AsString;
AdvStringGrid1.Cells[5,list] := SDQuery.FieldByName('tel').AsString;
AdvStringGrid1.Cells[6,list] := SDQuery.FieldByName('traintype').AsString;
AdvStringGrid1.Cells[7,list] := SDQuery.FieldByName('note').AsString;
list := list +1;
SDQuery.Next;
end;
finally
SDQuery.Free;
AdvStringGrid1.EndUpdate;
end;
end;
procedure TSeachForm.quitClick(Sender: TObject);
begin
SeachForm.Close;
end;
procedure TSeachForm.edit1Click(Sender: TObject);
begin
MonthCalendar1.Visible := True;
end;
procedure TSeachForm.MonthCalendar1Click(Sender: TObject);
var
temp : string;
i :integer;
t:TDateTime;
constr :string ;
strs1 :TStrings;
sum : String;
begin
strs1 := TStringList.Create;
constr := DateToStr(MonthCalendar1.Date);
strs1.Delimiter := '-';
strs1.DelimitedText := constr;
sum := '';
for i := 0 to Strs1.Count-1 do
begin
if (length(Strs1[i])=1) then
Strs1[i]:='0'+Strs1[i];
sum := sum + Strs1[i];
temp:=temp+Strs1[i];
end;
edit1.Text := sum;
MonthCalendar1.Visible:=False;
end;
procedure TSeachForm.Edit2Click(Sender: TObject);
begin
MonthCalendar2.Visible := True;
end;
procedure TSeachForm.MonthCalendar2Click(Sender: TObject);
var
temp : string;
i :integer;
t:TDateTime;
constr :string ;
strs1 :TStrings;
sum : String;
begin
strs1 := TStringList.Create;
constr := DateToStr(MonthCalendar2.Date);
strs1.Delimiter := '-';
strs1.DelimitedText := constr;
sum := '';
for i := 0 to Strs1.Count-1 do
begin
if (length(Strs1[i])=1) then
Strs1[i]:='0'+Strs1[i];
sum := sum + Strs1[i];
temp:=temp+Strs1[i];
end;
edit2.Text := sum;
MonthCalendar2.Visible:=False;
end;
procedure TSeachForm.Button1Click(Sender: TObject);
begin
content.Text := '';
edit1.Text := '';
Edit2.Text := '';
end;
procedure TSeachForm.FormClick(Sender: TObject);
begin
MonthCalendar1.Visible:=False;
MonthCalendar2.Visible:=False;
end;
end.