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

📄 main.cpp

📁 万能集成查询器,能够对系统中所有的数据库系统进行查询、转库、及整理。
💻 CPP
📖 第 1 页 / 共 2 页
字号:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Main.h"

//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------


void __fastcall TForm1::FormCreate(TObject *Sender)
{
   ini = new TIniFile(GetCurrentDir()+"\\sqlconfig.ini");
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormDestroy(TObject *Sender)
{
   delete ini;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::UpDown1ChangingEx(TObject *Sender,
      bool &AllowChange, short NewValue, TUpDownDirection Direction)
{

    if(this->CheckListBox1->ItemIndex==-1) return;
    short rec;
    rec=this->CheckListBox1->ItemIndex;

     if(Direction==updUp){
        if(rec==0) return;
        this->CheckListBox1->Items->Exchange(rec,rec-1);
        this->CheckListBox2->Items->Exchange(rec,rec-1);
     };

     if(Direction==updDown){
        if(rec==this->CheckListBox1->Items->Count-1) return;
        this->CheckListBox1->Items->Exchange(rec,rec+1);
        this->CheckListBox2->Items->Exchange(rec,rec+1);
     };
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormShow(TObject *Sender)
{
   ini->ReadSection("数据表名",ComboBox1->Items);
   ini->ReadSection("数据表名",ComboBox10->Items);
   ini->ReadSection("数据表名",ComboBox19->Items);
   ini->ReadSection("数据表名",ComboBox25->Items);

   this->Database1->AliasName=ini->ReadString("数据库","数据库名","zwdb");




}
//---------------------------------------------------------------------------
void __fastcall TForm1::ComboBox1Change(TObject *Sender)
{
    ComboBox2->Items->Clear();
     ComboBox2->Text="";
     Edit1->Text="";
     if(ComboBox1->Text.Trim()=="") return;

     String TabName=ini->ReadString("数据表名",ComboBox1->Text.Trim(),"");
     ini->ReadSection(ComboBox1->Text.Trim(),ComboBox2->Items);
     ini->ReadSection(ComboBox1->Text.Trim(),ComboBox5->Items);
     ini->ReadSection(ComboBox1->Text.Trim(),ComboBox8->Items);

     ini->ReadSection(ComboBox1->Text.Trim(),this->CheckListBox1->Items);
     this->CheckListBox2->Items->Clear();
     for(int k=0;k<this->CheckListBox1->Items->Count;k++)
     {
        this->CheckListBox2->Items->Add(
        ini->ReadString(ComboBox1->Text.Trim(),this->CheckListBox1->Items->Strings[k],""));
        this->CheckListBox1->Checked[k]=true;
     };
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ComboBox4Change(TObject *Sender)
{
     ComboBox5->Enabled=ComboBox4->ItemIndex;
     ComboBox6->Enabled=ComboBox4->ItemIndex;
   //  ComboBox7->Enabled=ComboBox4->ItemIndex;
     Edit2->ReadOnly=!ComboBox4->ItemIndex;

}
//---------------------------------------------------------------------------
void __fastcall TForm1::ComboBox2Change(TObject *Sender)
{
     ComboBox4->Enabled=ComboBox2->ItemIndex+1;
     ComboBox7->Enabled=ComboBox2->ItemIndex+1;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ComboBox7Change(TObject *Sender)
{
     ComboBox8->Enabled=ComboBox7->ItemIndex;
     ComboBox9->Enabled=ComboBox7->ItemIndex;
     Edit3->ReadOnly=!ComboBox7->ItemIndex;
}
//---------------------------------------------------------------------------


void __fastcall TForm1::Button2Click(TObject *Sender)
{
     if(Edit7->Text.Trim()=="" || Edit8->Text.Trim()=="")
     {
         ShowMessage("请输入标签和字段名,可以是统计字段!");
         return;
     };
     CheckListBox1->Items->Add(Edit7->Text.Trim());
     CheckListBox2->Items->Add(Edit8->Text.Trim());
}
//---------------------------------------------------------------------------

void __fastcall TForm1::BitBtn1Click(TObject *Sender)
{
    switch (this->PageControl1->ActivePageIndex)
    {
      case 0:  if(!SimpleQuery()) return;
               break;
      case 1:  if(!ComplexityQuery()) return;
               break;
      case 2:  break;
      default: return;
    };

    if(this->Memo1->Lines->Count<1) return;

    this->Query1->DisableControls();
    this->Query1->Close();
    this->Query1->SQL->Clear();
    this->Query1->SQL->AddStrings(this->Memo1->Lines);
    this->Query1->Prepare();
  
    switch (this->PageControl1->ActivePageIndex)
    {
      case 0: SQLSimple(); break;
      case 1: SQLComplexity(); break;
      case 2:  break;
      default: return;
    };

    this->Query1->Open();
    this->Query1->EnableControls();
}
//---------------------------------------------------------------------------


bool TForm1::SimpleQuery()
{
        //TODO: Add your source code here
         this->Memo1->Lines->Clear();
     String sql;
     if(this->RadioGroup1->ItemIndex==0) {
      sql="Select ";
      bool flag;
      flag=false;
      for(int i=0;i<CheckListBox1->Items->Count;i++)
      {
         if(CheckListBox1->Checked[i]){
              if(!flag){
              sql=sql+CheckListBox2->Items->Strings[i]+"  AS  "+CheckListBox1->Items->Strings[i];
              flag=true;
              }else{
                 sql=sql+", ";
                 sql=sql+CheckListBox2->Items->Strings[i]+"  AS  "+CheckListBox1->Items->Strings[i];
              };
         };
      };
      this->Memo1->Lines->Add(sql);
      if(!flag) return false;
     }

     if(this->RadioGroup1->ItemIndex==1) this->Memo1->Lines->Add("select *");
     if(this->RadioGroup1->ItemIndex==2) {
      sql="Select * ";
           for(int i=0;i<CheckListBox1->Items->Count;i++)
      {
         if(CheckListBox1->Checked[i]){
                 sql=sql+", ";
                 sql=sql+CheckListBox2->Items->Strings[i]+"  AS  "+CheckListBox1->Items->Strings[i];
         };
      };
      this->Memo1->Lines->Add(sql);
     };
  //-----------------------------
  if(ComboBox1->Text.Trim()=="") { ShowMessage("请选择查询表!");  return false;}
  String TabName=ini->ReadString("数据表名",ComboBox1->Text.Trim(),"");
  this->Memo1->Lines->Add("From "+TabName);
  //-----------------------------
  if(ComboBox2->Text.Trim()=="")  return true;

  TabName=ini->ReadString(ComboBox1->Text.Trim(),ComboBox2->Text.Trim(),"");
  sql="Where ("+TabName+" "+ComboBox3->Text.SubString(0,ComboBox3->Text.Length()-6)+" "+":PARAM0 )";
  this->Memo1->Lines->Add(sql);
  if(ComboBox4->Text.Trim()!="不参与"){
  TabName=ini->ReadString(ComboBox1->Text.Trim(),ComboBox5->Text.Trim(),"");
  sql=ComboBox4->Text.Trim()+" ("+TabName+" "+ComboBox6->Text.SubString(0,ComboBox6->Text.Length()-6)+" "+":PARAM1 )";
  this->Memo1->Lines->Add(sql);
  };
  if(ComboBox7->Text.Trim()!="不参与"){
  TabName=ini->ReadString(ComboBox1->Text.Trim(),ComboBox8->Text.Trim(),"");
  sql=ComboBox7->Text.Trim()+" ("+TabName+" "+ComboBox9->Text.SubString(0,ComboBox9->Text.Length()-6)+" "+":PARAM2 )";
  this->Memo1->Lines->Add(sql);
  };
  return true;
}






void __fastcall TForm1::ComboBox11Change(TObject *Sender)
{
    ComboBox15->Enabled=ComboBox11->ItemIndex+1;
     ComboBox16->Enabled=ComboBox11->ItemIndex+1;
     ComboBox22->Enabled=ComboBox11->ItemIndex+1;
}
//---------------------------------------------------------------------------

void __fastcall TForm1::ComboBox15Change(TObject *Sender)
{
    ComboBox14->Enabled=ComboBox15->ItemIndex;
    ComboBox24->Enabled=ComboBox15->ItemIndex;
    // Edit2->ReadOnly=!ComboBox4->ItemIndex;
}
//---------------------------------------------------------------------------

void __fastcall TForm1::ComboBox16Change(TObject *Sender)
{
    ComboBox17->Enabled=ComboBox16->ItemIndex;
     ComboBox18->Enabled=ComboBox16->ItemIndex;
   //  ComboBox22->Enabled=ComboBox15->ItemIndex;
     Edit6->ReadOnly=!ComboBox16->ItemIndex;
}
//---------------------------------------------------------------------------

void __fastcall TForm1::ComboBox22Change(TObject *Sender)
{
    ComboBox21->Enabled=ComboBox22->ItemIndex;
     ComboBox20->Enabled=ComboBox22->ItemIndex;
   //  ComboBox22->Enabled=ComboBox15->ItemIndex;
     Edit9->ReadOnly=!ComboBox22->ItemIndex;
}
//---------------------------------------------------------------------------


bool TForm1::MarshFields()
{
        //TODO: Add your source code here

     String TabName;
     this->CheckListBox1->Items->Clear();
     this->CheckListBox2->Items->Clear();
     ComboBox17->Items->Clear();
     ComboBox21->Items->Clear();
     ComboBox11->Items->Clear();
     ComboBox23->Items->Clear();
     ComboBox14->Items->Clear();
     ComboBox24->Items->Clear();
     ComboBox17->Text="";
     ComboBox21->Text="";
     ComboBox11->Text="";
     ComboBox23->Text="";
     ComboBox14->Text="";
     ComboBox24->Text="";

     if(ComboBox10->Text.Trim()!="") {

     TabName=ini->ReadString("数据表名",ComboBox10->Text.Trim(),"");
     ini->ReadSection(ComboBox10->Text.Trim(),this->CheckListBox1->Items);

     for(int k=0;k<this->CheckListBox1->Items->Count;k++)
     {
        this->CheckListBox2->Items->Add(TabName+"."+
        ini->ReadString(ComboBox10->Text.Trim(),this->CheckListBox1->Items->Strings[k],""));
        ComboBox17->Items->Add(ComboBox10->Text.Trim()+"."+this->CheckListBox1->Items->Strings[k]);
     };
     };

     if(ComboBox19->Text.Trim()!="")
     {
     TabName=ini->ReadString("数据表名",ComboBox19->Text.Trim(),"");
     ini->ReadSection(ComboBox19->Text.Trim(),this->Memo1->Lines);
     this->CheckListBox1->Items->AddStrings(this->Memo1->Lines);
     for(int k=0;k<this->Memo1->Lines->Count;k++)
     {
        this->CheckListBox2->Items->Add(TabName+"."+
        ini->ReadString(ComboBox19->Text.Trim(),this->Memo1->Lines->Strings[k],""));
        ComboBox17->Items->Add(ComboBox19->Text.Trim()+"."+this->Memo1->Lines->Strings[k]);

     };
     };

     if(ComboBox25->Text.Trim()!="")
     {
     TabName=ini->ReadString("数据表名",ComboBox25->Text.Trim(),"");
     ini->ReadSection(ComboBox25->Text.Trim(),this->Memo1->Lines);
     this->CheckListBox1->Items->AddStrings(this->Memo1->Lines);

     for(int k=0;k<this->Memo1->Lines->Count;k++)
     {
        this->CheckListBox2->Items->Add(TabName+"."+
        ini->ReadString(ComboBox25->Text.Trim(),this->Memo1->Lines->Strings[k],""));
        ComboBox17->Items->Add(ComboBox25->Text.Trim()+"."+this->Memo1->Lines->Strings[k]);

     };
     };

⌨️ 快捷键说明

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