delphi 查询mysql

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.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值