⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 queryleader.pas.~1~

📁 asp.net2.0控件treeview绑定数据以及全选操作
💻 ~1~
字号:
unit QueryLeader;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DBTables, DB, StdCtrls, ComCtrls, Grids, DBGrids, ExtCtrls,
  DBCtrls, IdGlobal;

type
  TfrmQueryUser = class(TForm)
    DBGrid1: TDBGrid;
    GroupBox1: TGroupBox;
    Label14: TLabel;
    Label15: TLabel;
    Label2: TLabel;
    Label6: TLabel;
    UserID: TEdit;
    UserName: TEdit;
    gender: TComboBox;
    btnQuery: TButton;
    btnClear: TButton;
    tel: TEdit;
    GroupBox3: TGroupBox;
    lowJoin: TDateTimePicker;
    highJoin: TDateTimePicker;
    GroupBox2: TGroupBox;
    lowBirthday: TDateTimePicker;
    highBirthday: TDateTimePicker;
    Label1: TLabel;
    Label3: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    GroupBox7: TGroupBox;
    GroupBox4: TGroupBox;
    asc: TRadioButton;
    desc: TRadioButton;
    GroupBox5: TGroupBox;
    id: TRadioButton;
    name: TRadioButton;
    edu: TRadioButton;
    join: TRadioButton;
    procedure btnQueryClick(Sender: TObject);
    procedure btnClearClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure ascClick(Sender: TObject);
    procedure descClick(Sender: TObject);
    procedure idClick(Sender: TObject);
    procedure nameClick(Sender: TObject);
    procedure eduClick(Sender: TObject);
    procedure joinClick(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormShow(Sender: TObject);

  private
    { Private declarations }
    sql: string;
  public
    { Public declarations }
    function isInteger(s:string):boolean;
  end;

var
  frmQueryUser: TfrmQueryUser;

implementation

uses dataModule;

{$R *.dfm}
function TfrmQueryUser.isInteger(s: string): boolean;
var
   i:integer;
begin
   i:=1;
   if length(s)=0 then
   begin
      result:=false;
      exit;
   end;
   while i<=length(s) do
   begin
      if (isNumeric(s[i])=false) then
      begin
         result:=false;
         exit;
      end;
      i:=i+1;
   end;
   result:=true;
end;

procedure TfrmQueryUser.FormCreate(Sender: TObject);
begin
    //显示所有纪录
    dm.Query1.Close;
    dm.Query1.SQL.Clear;
    dm.Query1.SQL.Add('select * from leader');
    try
        dm.Query1.Open;
    except

    end;

    //设置输入焦点
    activeControl := UserId;

    //清空所有输入
    UserId.Text := '';
    UserName.Text := '';
    gender.ItemIndex := 0;
    lowBirthday.Date := strToDate('1980-1-1');
    highBirthday.Date := now;
    lowJoin.Date := strToDate('1980-1-1');
    highJoin.date := now;
    
    tel.Text := '';
end;

procedure TfrmQueryUser.btnQueryClick(Sender: TObject);
var
    flag: boolean;
    low, high: string;
begin
    //根据输入的内容查询
    sql := 'select * from leader ';

    flag := false;
    if isInteger(UserID.Text)  then
    begin
        flag := true;
        sql := sql + 'where 编号='+UserID.Text;
    end;

    //
    if UserName.Text <> '' then
    begin
        if flag then
            sql := sql + ' and 姓名=''' + UserName.Text+''''
        else begin;
            sql := sql + ' where 姓名=''' + UserName.Text+'''';
            flag := true;
        end;
    end;

    //
    if Gender.Text <> '' then
    begin
        if flag then
            sql := sql + ' and 性别=''' + Gender.Text+''''
        else begin;
            sql := sql + ' where 性别=''' + Gender.Text+'''';
            flag := true;
        end;
    end;

    //
   {处理生日}
   low:=formatDateTime('mm''/''dd''/''yyyy',lowbirthday.Date);
   high:=formatDateTime('mm''/''dd''/''yyyy',highbirthday.Date);
   if flag then
      sql:=sql+'and '
   else
      sql:=sql+' where ';
   sql:=sql+'生日<='''+high+''' and 生日>='''+low+'''';

   {处理任职时间}
   low:=formatDateTime('mm''/''dd''/''yyyy',lowjoin.Date);
   high:=formatDateTime('mm''/''dd''/''yyyy',highjoin.Date);
   sql:=sql+' and '+'任职时间<='''+high+''' and 任职时间>='''+low+'''';

   //

   if tel.Text <> '' then
    begin
        if flag then
            sql := sql + ' and 电话=''' + tel.Text+''''
        else begin;
            sql := sql + ' where 电话=''' + tel.Text+'''';
            flag := true;
        end;
    end;

    //根据字符串sql进行查询
    dm.Query1.Close;
    dm.Query1.SQL.Clear;
    dm.Query1.SQL.Add(sql);
    try
        dm.Query1.Open;
    except
        dm.Query1.ExecSQL();
    end;
end;

procedure TfrmQueryUser.btnClearClick(Sender: TObject);
begin
    UserId.Text := '';
    UserName.Text := '';
    gender.ItemIndex := 0;
    lowBirthday.Date := strToDate('1980-1-1');
    highBirthday.Date := now;
    lowJoin.Date := strToDate('1980-1-1');
    highJoin.date := now;

    tel.Text := '';
end;



procedure TfrmQueryUser.ascClick(Sender: TObject);
var
    context : string;
begin
    if( id.Checked = true )
        then context := '编号'
    else if ( name.Checked = true )
        then context := '姓名'
    else if ( join.Checked )
        then context := '任职时间'
    else if ( edu.checked )
        then context := '级别';

    //改变查询语句
    dm.Query1.close;
    dm.Query1.SQL.Clear;
    dm.Query1.SQL.Add('select * from leader order by '+context+' asc');

    //重新查询
    try
        dm.Query1.Open;
    except
        dm.Query1.ExecSQL;
    end;

end;

procedure TfrmQueryUser.descClick(Sender: TObject);
var
    context : string;
begin
    if( id.Checked = true )
        then context := '编号'
    else if ( name.Checked = true )
        then context := '姓名'
    else if ( join.Checked )
        then context := '任职时间'
    else if ( edu.checked )
        then context := '级别';

    //改变查询语句
    dm.Query1.close;
    dm.Query1.SQL.Clear;
    dm.Query1.SQL.Add('select * from leader order by '+context+' desc');

    //重新查询
    try
        dm.Query1.Open;
    except
        dm.Query1.ExecSQL;
    end;
end;

procedure TfrmQueryUser.idClick(Sender: TObject);
var
    sorttype : string;
begin
    //确定排序方式
    if ( asc.Checked )
        then
        sorttype := 'asc'
    else
        sorttype := 'desc';

    //更新表格

    //改变查询语句
    dm.Query1.close;
    dm.Query1.SQL.Clear;
    dm.Query1.SQL.Add('select * from leader order by 编号 ' + sorttype);

    //重新查询
    try
        dm.Query1.Open;
    except
        dm.Query1.ExecSQL;
    end;
end;

procedure TfrmQueryUser.nameClick(Sender: TObject);
var
    sorttype : string;
begin
    //确定排序方式
    if ( asc.Checked )
        then
        sorttype := 'asc'
    else
        sorttype := 'desc';

    //更新表格

    //改变查询语句
    dm.Query1.close;
    dm.Query1.SQL.Clear;
    dm.Query1.SQL.Add('select * from leader order by 姓名 ' + sorttype);

    //重新查询
    try
        dm.Query1.Open;
    except
        dm.Query1.ExecSQL;
    end;
end;

procedure TfrmQueryUser.eduClick(Sender: TObject);
var
    sorttype : string;
begin
    //确定排序方式
    if ( asc.Checked )
        then
        sorttype := 'asc'
    else
        sorttype := 'desc';

    //更新表格

    //改变查询语句
    dm.Query1.close;
    dm.Query1.SQL.Clear;
    dm.Query1.SQL.Add('select * from leader order by 级别 ' + sorttype);

    //重新查询
    try
        dm.Query1.Open;
    except
        dm.Query1.ExecSQL;
    end;
end;

procedure TfrmQueryUser.joinClick(Sender: TObject);
var
    sorttype : string;
begin
    //确定排序方式
    if ( asc.Checked )
        then
        sorttype := 'asc'
    else
        sorttype := 'desc';

    //更新表格

    //改变查询语句
    dm.Query1.close;
    dm.Query1.SQL.Clear;
    dm.Query1.SQL.Add('select * from leader order by 任职时间 ' + sorttype);

    //重新查询
    try
        dm.Query1.Open;
    except
        dm.Query1.ExecSQL;
    end;
end;

procedure TfrmQueryUser.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
    dm.Query1.Close();
    self.Free;
end;

procedure TfrmQueryUser.FormShow(Sender: TObject);
begin
  //改变查询语句
    dm.Query1.close;
    dm.Query1.SQL.Clear;
    dm.Query1.SQL.Add('select * from leader order by 编号 asc');

    //重新查询
    try
        dm.Query1.Open;
    except
        dm.Query1.ExecSQL;
    end;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -