亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? hwsearch.pas.svn-base

?? 這是一個功能齊全的,代碼完整的ERP企業信息管理系統,現在上傳和大家分享
?? SVN-BASE
字號:
{***********************************************}
{                                               }
{       名    稱:通用查詢程序                  }
{       作    者:李洪輝                        }
{       創建日期:2003-05-02                    }
{       修改日期:2003-05-02                    }
{                                               }
{***********************************************}
unit HwSearch;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DB, ExtCtrls, StdCtrls, Buttons, Grids, DBGrids, ADODB,
  dxCntner, dxEditor, dxExEdtr, dxEdLib;

type
  THwSearchForm = class(TForm)
    Panel1: TPanel;
    Panel2: TPanel;
    Label1: TLabel;
    cbFieldName: TComboBox;
    Label2: TLabel;
    cbOperator: TComboBox;
    Label3: TLabel;
    edtFieldValue: TEdit;
    bbtnSearch: TBitBtn;
    bbtnAdd: TBitBtn;
    bbtnDelete: TBitBtn;
    bbtnExit: TBitBtn;
    bbtnDelAll: TBitBtn;
    DBGrid1: TDBGrid;
    ADODataSet1: TADODataSet;
    DataSource1: TDataSource;
    ADODataSet1FieldName: TStringField;
    ADODataSet1DisplayLabel: TStringField;
    ADODataSet1Operator: TStringField;
    ADODataSet1FieldValue: TStringField;
    dxDateEdit1: TdxDateEdit;
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure bbtnSearchClick(Sender: TObject);
    procedure bbtnAddClick(Sender: TObject);
    procedure bbtnDeleteClick(Sender: TObject);
    procedure bbtnDelAllClick(Sender: TObject);
    procedure bbtnExitClick(Sender: TObject);
    procedure cbFieldNameChange(Sender: TObject);
    procedure edtFieldValueKeyPress(Sender: TObject; var Key: Char);
  private
    FDataSet:TDataSet;
    AFields:TStringList;
    procedure FDataSetFilterRecord(DataSet: TDataSet; var Accept: Boolean);
    { Private declarations }
  public
    procedure OpenSearch(ADataSet:TDataSet);
    { Public declarations }
  end;

var
  HwSearchForm: THwSearchForm;

implementation

uses CommFun;

{$R *.dfm}

procedure THwSearchForm.OpenSearch(ADataSet:TDataSet);
var
  I:integer;
begin
  FDataSet:=ADataSet;
  if not ADataSet.Active then
  begin
    try
      ADataSet.Open;
    except
      ShowMsg('打開數據集失敗,檢查您是否為數據集組件設置了正確的信息');
      Abort;
    end;
  end;
  AFields:=TStringList.Create;
  cbFieldName.Clear;
  for I:=0 to ADataSet.FieldCount-1 do
  begin
    if ADataSet.Fields[I].Visible then
    begin
      cbFieldName.Items.Add(ADataSet.Fields[I].DisplayLabel);
      AFields.Add(ADataSet.Fields[I].FieldName);
    end;
  end;
  cbFieldName.ItemIndex:=0;
  cbOperator.ItemIndex:=0;
  cbFieldNameChange(cbFieldName);
end;

procedure THwSearchForm.FDataSetFilterRecord(DataSet: TDataSet; var Accept: Boolean);
var
  AField,AOperator,AFieldValue:string;
  ABool:array [0..6] of boolean;
begin
  try
    ABool[0]:=True;  ABool[1]:=True;  ABool[2]:=True;
    ABool[3]:=True;  ABool[4]:=True;  ABool[5]:=True;  ABool[6]:=True;
    ADODataSet1.First;
    while not ADODataSet1.Eof do
    begin
      AField:=FDataSet.FindField(ADODataSet1.FieldByName('FieldName').AsString).Value;
      AFieldValue:=trim(ADODataSet1.FieldByName('FieldValue').AsString);
      AOperator:=trim(ADODataSet1.FieldByName('Operator').AsString);
      if AOperator='=' then ABool[0]:=(ABool[0]) and (Uppercase(AField)=Uppercase(AFieldValue))
      else if AOperator='>' then ABool[1]:=(ABool[1]) and (Uppercase(AField)>Uppercase(AFieldValue))
      else if AOperator='>=' then ABool[2]:=(ABool[2]) and (Uppercase(AField)>=Uppercase(AFieldValue))
      else if AOperator='<' then ABool[3]:=(ABool[3]) and (Uppercase(AField)<Uppercase(AFieldValue))
      else if AOperator='<=' then ABool[4]:=(ABool[4]) and (Uppercase(AField)<=Uppercase(AFieldValue))
      else if AOperator='<>' then ABool[5]:=(ABool[5]) and (Uppercase(AField)<>Uppercase(AFieldValue))
      else if AOperator='like' then ABool[6]:=(ABool[6]) and (Pos(Uppercase(AFieldValue),Uppercase(AField))<>0);
      ADODataSet1.Next;
    end;
    Accept:=(ABool[0]) and (ABool[1]) and (ABool[2]) and
            (ABool[3]) and (ABool[4]) and (ABool[5]) and (ABool[6])
  except
  end;
end;

procedure THwSearchForm.FormCreate(Sender: TObject);
begin
//
  ADODataSet1.FieldDefs.Clear;
  ADODataSet1.FieldDefs.Add('FieldName',ftString,20);
  ADODataSet1.FieldDefs.Add('DisplayLabel',ftString,50);
  ADODataSet1.FieldDefs.Add('Operator',ftString,10);
  ADODataSet1.FieldDefs.Add('FieldValue',ftString,50);
  ADODataSet1.CreateDataSet;
end;

procedure THwSearchForm.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
//
end;

procedure THwSearchForm.bbtnSearchClick(Sender: TObject);
begin
//執行查詢(&S)
  try
    Screen.Cursor:=crHourGlass;
    if ADODataSet1.IsEmpty then
    begin
      FDataSet.Filtered:=False;
      FDataSet.Close;
      FDataSet.Open;
    end else
    begin
      FDataSet.DisableControls;
      FDataSet.Filtered:=False;
      FDataSet.Filtered:=True;
      FDataSet.OnFilterRecord:=FDataSetFilterRecord;
      FDataSet.Close;
      FDataSet.Open;
    end;
    ModalResult:=mrOK;
  finally
    FDataSet.EnableControls;
    Screen.Cursor:=crDefault;
  end;
end;

procedure THwSearchForm.bbtnAddClick(Sender: TObject);
begin
//加入條件(&A)
  if dxDateEdit1.Visible then
  begin
    if dxDateEdit1.Text='    -  -  ' then
    begin
      ShowMsg('字段值不能為空,請輸入字段的值');
      dxDateEdit1.SetFocus;
      Abort;
    end;
  end
  else if edtFieldValue.Visible then
  begin
    if trim(edtFieldValue.Text)='' then
    begin
      ShowMsg('字段值不能為空,請輸入字段的值');
      edtFieldValue.SetFocus;
      Abort;
    end;
  end;
  ADODataSet1.Append;
  ADODataSet1.FieldByName('FieldName').Value:=AFields[cbFieldName.ItemIndex];
  ADODataSet1.FieldByName('DisplayLabel').Value:=cbFieldName.Text;
  ADODataSet1.FieldByName('Operator').Value:=cbOperator.Text;
  if edtFieldValue.Visible then
    ADODataSet1.FieldByName('FieldValue').Value:=edtFieldValue.Text
  else if dxDateEdit1.Visible then
    ADODataSet1.FieldByName('FieldValue').Value:=dxDateEdit1.Text;
  ADODataSet1.Post;
  bbtnDelete.Enabled:=not ADODataSet1.IsEmpty;
  bbtnDelAll.Enabled:=not ADODataSet1.IsEmpty;
  edtFieldValue.Text:='';
  dxDateEdit1.Text:='';
  if edtFieldValue.Visible then edtFieldValue.SetFocus;
  if dxDateEdit1.Visible then dxDateEdit1.SetFocus;
end;

procedure THwSearchForm.bbtnDeleteClick(Sender: TObject);
begin
//移除條件(&D)
  ADODataSet1.Delete;
  bbtnDelete.Enabled:=not ADODataSet1.IsEmpty;
  bbtnDelAll.Enabled:=not ADODataSet1.IsEmpty;
end;

procedure THwSearchForm.bbtnDelAllClick(Sender: TObject);
begin
//清除條件(&L)
  ADODataSet1.First;
  while not ADODataSet1.Eof do
  begin
    ADODataSet1.Delete;
  end;
  bbtnDelete.Enabled:=not ADODataSet1.IsEmpty;
  bbtnDelAll.Enabled:=not ADODataSet1.IsEmpty;
end;

procedure THwSearchForm.bbtnExitClick(Sender: TObject);
begin
//退出(&X)
  Close;
end;

procedure THwSearchForm.cbFieldNameChange(Sender: TObject);
begin
  case FDataSet.FieldByName(AFields[cbFieldName.ItemIndex]).DataType of
    ftDate, ftTime, ftDateTime:
      begin
        edtFieldValue.Visible:=False;
        dxDateEdit1.Visible:=True;
      end;
  else
    edtFieldValue.Visible:=True;
    dxDateEdit1.Visible:=False;
  end;
end;

procedure THwSearchForm.edtFieldValueKeyPress(Sender: TObject;
  var Key: Char);
begin
  case FDataSet.FieldByName(AFields[cbFieldName.ItemIndex]).DataType of
    ftSmallint, ftInteger, ftWord: ValidInteger(Sender, Key);
    ftFloat, ftCurrency, ftBCD: ValidFloat(Sender, Key);
  end;
end;

end.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品一区八戒影视| 国产精品色婷婷| 国产精品久久久久久久午夜片| 亚洲欧美视频在线观看| 国内成人免费视频| 色婷婷av久久久久久久| 久久久www成人免费无遮挡大片| 亚洲免费观看高清完整版在线观看| 老司机免费视频一区二区三区| 欧美三级中文字幕在线观看| 中文字幕精品在线不卡| 精品亚洲欧美一区| 91精品国产91久久综合桃花| 亚洲色图视频网| 国产不卡在线播放| 日韩无一区二区| 五月婷婷久久丁香| 91网上在线视频| 国产精品网友自拍| 国产伦精一区二区三区| 精品乱人伦小说| 久久精品国产精品亚洲精品| 欧美日韩电影在线| 亚洲国产综合在线| 色猫猫国产区一区二在线视频| 国产精品三级电影| 成人av小说网| 国产精品久久毛片a| 国产xxx精品视频大全| 久久亚洲精华国产精华液| 精品午夜久久福利影院| 2021久久国产精品不只是精品| 麻豆91精品视频| 2021国产精品久久精品| 国产精品一区二区免费不卡| 久久久久9999亚洲精品| 国产成人亚洲综合a∨猫咪| 久久久久久免费网| 国产精品1区2区| 国产精品毛片久久久久久| av亚洲精华国产精华| 亚洲欧美偷拍卡通变态| 精品视频在线视频| 日韩av一二三| 久久久午夜电影| 波多野结衣亚洲一区| 亚洲精品国产a久久久久久| 91传媒视频在线播放| 午夜精品成人在线视频| 日韩无一区二区| 国产成人自拍网| 亚洲免费在线看| 7777女厕盗摄久久久| 国产麻豆精品视频| 亚洲男人的天堂在线aⅴ视频| 欧美日韩二区三区| 国产精品一区二区在线观看不卡| 国产精品系列在线| 欧美日韩在线播| 国产一区二区日韩精品| 亚洲欧洲综合另类| 欧美精品色综合| 国产成人午夜精品影院观看视频 | 麻豆精品蜜桃视频网站| 欧美精品一区二区高清在线观看| 丁香六月综合激情| 亚洲bdsm女犯bdsm网站| 日韩视频一区二区三区在线播放 | 5月丁香婷婷综合| 国产一区二区三区日韩| 亚洲色图一区二区三区| 欧美成人精品3d动漫h| www.性欧美| 老色鬼精品视频在线观看播放| 中文字幕中文在线不卡住| 777a∨成人精品桃花网| 91丝袜美腿高跟国产极品老师 | 国产精品免费视频观看| 91久久精品一区二区三| 黄色小说综合网站| 亚洲一区国产视频| 国产清纯在线一区二区www| 欧美三级视频在线观看| 国产高清成人在线| 视频一区二区三区中文字幕| 日本一区二区综合亚洲| 91精品欧美综合在线观看最新 | 5858s免费视频成人| 色屁屁一区二区| 国产成人在线观看免费网站| 久久精品国产秦先生| 亚洲一区欧美一区| 中文字幕五月欧美| 国产欧美一区二区精品秋霞影院| 欧美精品一卡两卡| 欧美亚洲综合一区| 91亚洲精品乱码久久久久久蜜桃| 国产伦精品一区二区三区在线观看 | 欧美电视剧免费全集观看| 在线国产亚洲欧美| 91在线视频网址| www.欧美日韩国产在线| 国产电影一区在线| 国产精品综合网| 国内精品第一页| 久久99精品视频| 久久99久久久久久久久久久| 性久久久久久久久久久久| 夜夜爽夜夜爽精品视频| 亚洲精品视频在线观看免费| 国产精品福利一区| 国产农村妇女毛片精品久久麻豆 | 日韩美女天天操| 91精品久久久久久久99蜜桃 | 欧美色综合网站| 91成人在线观看喷潮| 欧美亚洲丝袜传媒另类| 欧美在线小视频| 欧美日韩精品是欧美日韩精品| 91久久精品一区二区三| 欧美视频一区二| 欧美精品v国产精品v日韩精品 | 亚洲色图第一区| 亚洲精品视频在线| 午夜影院在线观看欧美| 午夜av区久久| 狠狠色丁香婷婷综合| 国产精品影视在线| 成人av免费网站| 色视频一区二区| 日韩一区二区在线看| 久久久久久久久99精品| 国产精品卡一卡二| 亚洲蜜臀av乱码久久精品| 亚洲一区二区中文在线| 日本欧美韩国一区三区| 国产剧情一区二区三区| 91麻豆国产福利精品| 欧美三级日韩三级| 精品日韩一区二区三区| 国产精品国产三级国产普通话99 | 亚洲免费视频成人| 婷婷综合五月天| 国产精华液一区二区三区| 色88888久久久久久影院按摩| 欧美乱妇20p| 国产日韩欧美精品在线| 一区二区三区四区在线| 老司机精品视频导航| 99国产精品久久久久久久久久| 欧美区一区二区三区| 久久久久久久久99精品| 亚洲国产中文字幕| 国产麻豆日韩欧美久久| 欧美探花视频资源| 久久亚洲春色中文字幕久久久| 亚洲黄色尤物视频| 国产露脸91国语对白| 欧美日韩第一区日日骚| 中文字幕一区二区三区视频| 无码av免费一区二区三区试看| 风间由美性色一区二区三区| 欧美日韩视频在线第一区| 国产欧美日韩精品一区| 婷婷丁香久久五月婷婷| 成人av资源下载| 精品99一区二区| 图片区日韩欧美亚洲| 91成人在线精品| 国产精品久久久久久久久动漫 | 国产99久久久久久免费看农村| 欧美性生活影院| 国产精品国产三级国产专播品爱网| 蜜桃91丨九色丨蝌蚪91桃色| 欧美在线短视频| 亚洲视频综合在线| 精品制服美女久久| 91精品国产综合久久小美女| 一区二区三区日本| av中文字幕不卡| 国产欧美久久久精品影院| 男男gaygay亚洲| 7777女厕盗摄久久久| 亚洲福利视频三区| 色拍拍在线精品视频8848| 日韩美女久久久| 99久久久国产精品免费蜜臀| 久久一区二区三区国产精品| 美女一区二区在线观看| 欧美一区二区三区视频在线观看| 亚洲愉拍自拍另类高清精品| 91在线视频官网| 亚洲视频一二区| 色综合久久综合中文综合网| 日本一区二区高清| 成人一二三区视频| 中文字幕日韩一区二区| av亚洲精华国产精华精华| 亚洲日本青草视频在线怡红院| av高清不卡在线|