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

📄 gq_uquerymain.pas

📁 亚惠快餐管理信息系统 包括亚惠快餐管理的各项功能
💻 PAS
📖 第 1 页 / 共 5 页
字号:
unit GQ_UQueryMain;

{
代码单元名称:通用综合查询工具主窗口
从属软件:大连资金清算中心打码机管理信息系统
开发单位:大连理工大学计算机技术研究所软件工程研究室
作者:袁源
时间:2001,1,30
}

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ExtCtrls, Buttons, ToolWin, psock, ComCtrls, Grids, Menus, ImgList, StdCtrls,
  DB,
  CheckLst, ScktComp, GQ_USelectD_T, DBGrids, DBCtrls, PublicUnit, ADODB,
  RP_PageSetup;

type
  FldType = (Strings, Number, Date, Logical);

  TSqlString = array[0..6] of string;

  TGQ_FQueryMain = class(TForm)
    Panel1: TPanel;
    Splitter1: TSplitter;
    Panel2: TPanel;
    Panel4: TPanel;
    CancelStep: TLabel;
    LastStep: TLabel;
    NextStep: TLabel;
    PreviewStep: TLabel;
    StatusBar1: TStatusBar;
    Shape1: TShape;
    Shape3: TShape;
    Shape4: TShape;
    Shape6: TShape;
    Shape8: TShape;
    Shape2: TShape;
    Shape5: TShape;
    Label9: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    Label14: TLabel;
    Label15: TLabel;
    Label16: TLabel;
    Label17: TLabel;
    Label18: TLabel;
    Label19: TLabel;
    ImageList1: TImageList;
    FileOpenDialog: TOpenDialog;
    Shape7: TShape;
    Label43: TLabel;
    Notebook1: TNotebook;
    Label20: TLabel;
    Label21: TLabel;
    Label22: TLabel;
    ClearWork: TImage;
    Label23: TLabel;
    Label27: TLabel;
    Label28: TLabel;
    Image2: TImage;
    OrWork: TImage;
    AndWork: TImage;
    NotWork: TImage;
    Label24: TLabel;
    Label25: TLabel;
    Label26: TLabel;
    FldNameBox: TComboBox;
    OperateBox: TComboBox;
    FldValueBox: TComboBox;
    WhereBox: TListBox;
    ListBox1: TListBox;
    Label29: TLabel;
    Label30: TLabel;
    SelectFld: TLabel;
    AllSelFld: TLabel;
    AllDelFld: TLabel;
    DeleteFld: TLabel;
    SelectList: TListBox;
    SelectBox: TListBox;
    OrderFldSel: TLabel;
    OrderFldDel: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    OrderList: TListBox;
    OrderBox: TListBox;
    RadioGroup1: TRadioGroup;
    Label6: TLabel;
    Label7: TLabel;
    GroupFldAdd: TLabel;
    GroupFldDel: TLabel;
    GroupAddAll: TLabel;
    GroupDelAll: TLabel;
    GroupList: TListBox;
    GroupBox: TListBox;
    Label44: TLabel;
    Label45: TLabel;
    groupfieldbox: TListBox;
    Label46: TLabel;
    Panel5: TPanel;
    Label47: TLabel;
    fieldchoosebox: TListBox;
    ListBox2: TListBox;
    Image4: TImage;
    Label48: TLabel;
    Label51: TLabel;
    Label52: TLabel;
    Label53: TLabel;
    Label54: TLabel;
    Label55: TLabel;
    Label56: TLabel;
    GroupingFldSel: TLabel;
    GroupingFldDel: TLabel;
    GroupingBox: TListBox;
    Label49: TLabel;
    Label50: TLabel;
    ListBox3: TListBox;
    Label57: TLabel;
    Label39: TLabel;
    Image5: TImage;
    Label41: TLabel;
    Image6: TImage;
    Label60: TLabel;
    Image7: TImage;
    Label62: TLabel;
    Image8: TImage;
    Label64: TLabel;
    Image9: TImage;
    Label66: TLabel;
    Label67: TLabel;
    Image10: TImage;
    Label58: TLabel;
    Label59: TLabel;
    Label61: TLabel;
    Label63: TLabel;
    Label65: TLabel;
    Powersock1: TPowersock;
    Panel7: TPanel;
    Label40: TLabel;
    GroupBox1: TGroupBox;
    Label34: TLabel;
    Label37: TLabel;
    Label35: TLabel;
    ComboBox1: TComboBox;
    ComboBox4: TComboBox;
    ComboBox2: TComboBox;
    GroupBox2: TGroupBox;
    Label8: TLabel;
    Label36: TLabel;
    Label31: TLabel;
    ComboBox5: TComboBox;
    ComboBox3: TComboBox;
    ComboBox6: TComboBox;
    Label38: TLabel;
    Panel6: TPanel;
    CheckBox1: TCheckBox;
    Label68: TLabel;
    Label69: TLabel;
    Label70: TLabel;
    Label42: TLabel;
    Image3: TImage;
    Label32: TLabel;
    Label33: TLabel;
    DBGrid1: TDBGrid;
    CoolBar1: TCoolBar;
    ToolBar1: TToolBar;
    ToolButton1: TToolButton;
    ToolButton2: TToolButton;
    ToolButton9: TToolButton;
    ToolButton5: TToolButton;
    ToolButton4: TToolButton;
    ToolButton3: TToolButton;
    ToolButton10: TToolButton;
    ToolButton6: TToolButton;
    SaveBtn: TToolButton;
    ToolButton7: TToolButton;
    ToolButton13: TToolButton;
    ToolButton14: TToolButton;
    ToolButton15: TToolButton;
    ToolButton8: TToolButton;
    ToolButton11: TToolButton;
    ToolButton12: TToolButton;
    ToolButton16: TToolButton;
    SpeedButton1: TToolButton;
    ToolBar2: TToolBar;
    DBNavigator1: TDBNavigator;
    ImageList2: TImageList;
    Panel3: TPanel;
    Panel8: TPanel;
    CheckListBox1: TCheckListBox;
    CheckListBox2: TCheckListBox;
    ToolButton17: TToolButton;
    procedure SaveClick(Sender: TObject);
    procedure WhereSelClick(Sender: TObject);
    procedure AndWorkClick(Sender: TObject);
    procedure OrWorkClick(Sender: TObject);
    procedure NotWorkClick(Sender: TObject);
    procedure WhereDelClick(Sender: TObject);
    procedure ClearWorkClick(Sender: TObject);
    procedure FldValueBoxDropDown(Sender: TObject);
    procedure SelectFldClick(Sender: TObject);
    procedure SelectListDblClick(Sender: TObject);
    procedure AllSelFldClick(Sender: TObject);
    procedure AllDelFldClick(Sender: TObject);
    procedure DeleteFldClick(Sender: TObject);
    procedure FldNameBoxClick(Sender: TObject);
    procedure NextStepClick(Sender: TObject);
    procedure LastStepClick(Sender: TObject);
    procedure OrderListDblClick(Sender: TObject);
    procedure OrderFldSelClick(Sender: TObject);
    procedure OrderFldDelClick(Sender: TObject);
    procedure GroupFldAddClick(Sender: TObject);
    procedure GroupFldDelClick(Sender: TObject);
    procedure OrderBoxDblClick(Sender: TObject);
    procedure SelectBoxDblClick(Sender: TObject);
    procedure CancelStepClick(Sender: TObject);
    procedure GroupListDblClick(Sender: TObject);
    procedure GroupBoxDblClick(Sender: TObject);
    procedure GroupingFldSelClick(Sender: TObject);
    procedure GroupDelAllClick(Sender: TObject);
    procedure GroupAddAllClick(Sender: TObject);
    procedure GroupingFldDelClick(Sender: TObject);
    procedure GroupingBoxDblClick(Sender: TObject);
    procedure PreviewStepClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure ComboBox1Click(Sender: TObject);
    procedure ComboBox1Exit(Sender: TObject);
    procedure ComboBox2Click(Sender: TObject);
    procedure ComboBox2Exit(Sender: TObject);
    procedure ComboBox6Click(Sender: TObject);
    procedure ComboBox5Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure OperateBoxClick(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
    procedure SpeedButton3Click(Sender: TObject);
    procedure SpeedButton4Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure BitBtn4Click(Sender: TObject);
    procedure BitBtn5Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Label48Click(Sender: TObject);
    procedure CheckBox1Click(Sender: TObject);
    procedure Label32Click(Sender: TObject);
    procedure Label33Click(Sender: TObject);
    procedure ToolButton1Click(Sender: TObject);
    procedure ToolButton2Click(Sender: TObject);
    procedure ToolButton5Click(Sender: TObject);
    procedure ToolButton4Click(Sender: TObject);
    procedure ToolButton3Click(Sender: TObject);
    procedure ToolButton6Click(Sender: TObject);
    procedure SaveBtnClick(Sender: TObject);
    procedure ToolButton13Click(Sender: TObject);
    procedure ToolButton14Click(Sender: TObject);
    procedure ToolButton8Click(Sender: TObject);
    procedure ToolButton11Click(Sender: TObject);
    procedure ToolButton12Click(Sender: TObject);
    procedure DBGrid1DblClick(Sender: TObject);
    procedure DBGrid1CellClick(Column: TColumn);
    procedure ToolButton17Click(Sender: TObject);
  private
    { Private declarations }
    OrderFlag: array of boolean;
  public
    { Public declarations }
    SqlString, ViewSqlString: TSqlString;
    SqlStrings: TStrings;
    FldNames, FldCNames, GroupingFlds, GroupingCFlds, LinkFld: TStrings;
    FldNames2, FldCnames2, ViewFieldNames: TStrings;
    //在创建视图后所有的字段名字集合
    ServerName, DataBaseName, DbUser, DbPsw, UserName, UserPSW, TableName,
      TableName2: string;
    MyViewname: string;
    ViewSqlList: TStrings;
    ViewSource: integer; //打开结果集时看来自 文件,已有语句,新定义查询
    StringType: FldType;
    NowFldPos: integer;
    TableNameList: TStrings;
    AllviewNames: TStrings;
    GroupView: Boolean;
    AggVisible: Boolean;
    queryagain: Boolean;
    ViewName: string;
    MyPageDesign: TPageDesign;

    procedure InitQuery;
    function OpenSource: Boolean;
    procedure QueryByCondition;
    function NullAndOr(Sender: TObject): Boolean;
    function DealLBCE(Sender: TObject): string;
    function DealDateMonth(S1: string): string;
    procedure DelMulItem(Sender: TObject);
    function FormSqlString: Boolean;
    function FormSelectSql: Boolean;
    function FormFromSql: Boolean;
    function FormWhereSql: Boolean;
    function FormOrderSql: Boolean;
    function FormGroupSql: Boolean;
    function FormGroupingSql: Boolean;
    function CreateMyView: boolean;
    procedure InitForm;
    procedure enableGrouping;
    procedure disableGrouping;
    procedure dropview(tablename: string);
    function Query: Boolean;
    constructor ACreate(ATableName: string; ATableNameList: TStrings);
  end;

procedure SetWork;

implementation

{$R *.DFM}

uses GQ_DataModule, GQ_USaveView, GQ_UOpenView, Main, GQ_UExample, GQ_UInput,
  GQ_UOriput, GQ_UHavingForm, GQ_UFieldList, GQ_ULocate, TC_Main, AG_Main;

procedure SetWork;
var
  GQ_FQueryMain: TGQ_FQueryMain;
  GQ_FSelectD_T: TGQ_FSelectD_T;
  TableName: string;
  ATableNameList: TStrings;
begin
  Application.CreateForm(TGQ_FSelectD_T, GQ_FSelectD_T);
  GQ_FSelectD_T.ShowModal;
  if not GQ_FselectD_T.ChooseTable then
  begin
    GQ_FselectD_T.Free;
    Exit;
  end;
  TableName := GQ_FselectD_T.TableName;
  ATableNameList := TStringList.Create;
  ATableNameList.Assign(GQ_FselectD_T.ListBox2.Items);
  GQ_FselectD_T.Free;

  Screen.Cursor := crHourGlass;
  GQ_FQueryMain := TGQ_FQueryMain.ACreate(TableName, ATableNameList);
  GQ_FQueryMain.Show;
  ATableNameList.Free;
  Screen.Cursor := crDefault;
end;

{--------------------------Form Work---------------------------------}

constructor TGQ_FQueryMain.ACreate(ATableName: string; ATableNameList:
  TStrings);
begin
  inherited Create(Application);
  ServerName := FrmMain.ServerName;
  DataBaseName := FrmMain.DbName;
  DbUser := FrmMain.DBUser;
  DBPSW := FrmMain.DBPass;
  TableName := ATableName;
  TableNameList := TStringList.create;
  TableNameList.Assign(ATableNameList);
end;

procedure TGQ_FQueryMain.FormShow(Sender: TObject);
var
  tempstring: string;
begin
  DbGrid1.Height := 200;
  StatusBar1.Top := 562;
  tempstring := powersock1.getlocaladdress;
  tempstring := stringreplace(tempstring, ',', '0', [rfReplaceAll]);
  MyViewName := 'YuanHanZheZhen' + tempstring;
  FldNames := TStringList.Create;
  FldCNames := TStringList.Create;
  GroupingFlds := TStringList.Create;
  GroupingCFlds := TStringList.Create;
  LinkFld := TStringList.Create;
  FldNames2 := TstringList.Create;
  FldCNames2 := TstringList.Create;
  ViewFieldNames := TStringList.create;
  SqlStrings := TStringList.create;
  MyPageDesign := TPageDesign.Create;
  AllviewNames := TstringList.Create;
  NoteBook1.PageIndex := 0;
  ViewSource := 0;
  ServerName := FrmMain.ServerName;
  DataBaseName := FrmMain.DbName;
  UserName := FrmMain.DbUser;
  UserPSW := FrmMain.DBPass;
  StatusBar1.Panels[0].Text := '当前登录到数据库服务器' + ServerName;
  StatusBar1.Panels[1].Text := '当前数据库为' + DataBaseName + ' 当前选择表' +
    TableName;
  ViewName := '';
  GroupView := False;
  AggVisible := False;
  queryagain := false; //为了保存何再查询做准备
  with GQ_FDataModule.ADOQuery3 do
  begin
    Close;
    SQL.clear;
    sql.Add('select Name from sysObjects');
    open;
    first;
    while not EOF do
    begin
      allviewnames.Add(trim(fieldbyname('Name').asstring));
      next;
    end;
  end;
  InitForm;
  Refresh;
  GQ_FDataModule.GQ_FQueryMain := TGQ_FQueryMain(Self);
  notebook1.PageIndex := 5;
  InitQuery;
  NextStepClick(Sender);
  PreviewStepClick(Sender);
end;

procedure TGQ_FQueryMain.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  FldNames.Free;
  FldCNames.Free;
  GroupingFlds.Free;
  ViewFieldNames.Free;
  FldNames2.Free;
  FldCNames2.Free;
  LinkFld.Free;
  GroupingCFlds.free;
  TableNameList.Free;
  SqlStrings.Free;
  AllViewNames.Free;
  MyPageDesign.Free;
  Action := caFree;

⌨️ 快捷键说明

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