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

📄 querysql.cpp

📁 企业员工考勤和工资管理系统
💻 CPP
字号:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "QuerySql.h"
#include "DM1.h"
#include "PrintSet.h"

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

int __fastcall TFormQuerySql::CheckTj()
{
  if (ComboBoxColumn1->ItemIndex == -1) return 1;
  if (ComboBoxTj1->ItemIndex == -1) return 1;
  if (ComboBoxTj1->Text == "空" || ComboBoxTj1->Text == "非空") return 5;
  if (Edit1->Text.Trim().IsEmpty()) return 1;
  if (pQuery->FieldByName(ComboBoxColumn2->Items->Strings[ComboBoxColumn1->ItemIndex])->DataType == ftInteger)
  {
    try
    {
      StrToInt(Edit1->Text);
    }
    catch(...)
    {
      return 2;
    }
    return 3;
  }


  else if (pQuery->FieldByName(ComboBoxColumn2->Items->Strings[ComboBoxColumn1->ItemIndex])->DataType == ftSmallint)
  {
    try
    {
      StrToInt(Edit1->Text);
    }
    catch(...)
    {
      return 2;
    }
    return 3;
  }

  else if (pQuery->FieldByName(ComboBoxColumn2->Items->Strings[ComboBoxColumn1->ItemIndex])->DataType == ftWord)
  {
    try
    {
      StrToInt(Edit1->Text);
    }
    catch(...)
    {
      return 2;
    }
    return 3;
  }

  else if (pQuery->FieldByName(ComboBoxColumn2->Items->Strings[ComboBoxColumn1->ItemIndex])->DataType == ftFloat)
  {
    try
    {
      StrToFloat(Edit1->Text);
    }
    catch(...)
    {
      return 2;
    }
    return 3;
  }

  else if (pQuery->FieldByName(ComboBoxColumn2->Items->Strings[ComboBoxColumn1->ItemIndex])->DataType == ftBoolean)
  {
    if (Edit1->Text.Trim() == "1" || Edit1->Text.Trim() == "0" || Edit1->Text.Trim().LowerCase()  == "true" || Edit1->Text.Trim().LowerCase() == "false")
    {
      if (Edit1->Text.Trim().LowerCase() == "true") Edit1->Text = "1";
      else if(Edit1->Text.Trim().LowerCase() == "false") Edit1->Text = "0";
    }
    else
    {
      return 2;
    }
    return 3;

  }
  else return 4;
}

//---------------------------------------------------------------------------
void __fastcall TFormQuerySql::FormCreate(TObject *Sender)
{
  //pQuery = GetQuery("QRenShi");

  //DataSource1->DataSet = pQuery;

  StringGrid1->Cells[0][0] = "关系";
  StringGrid1->Cells[1][0] = "列";
  StringGrid1->Cells[2][0] = "条件";
  StringGrid1->Cells[3][0] = "值";

}
//---------------------------------------------------------------------------
void __fastcall TFormQuerySql::FormShow(TObject *Sender)
{
  //pQuery->Open();
  ComboBoxColumn1->Items->Clear();
  ComboBoxColumn2->Items->Clear();
  for (int i = 0;i < pGrid->Columns->Count; i++)
  {
    ComboBoxColumn1->Items->Add(pGrid->Columns->Items[i]->Title->Caption);
    ComboBoxColumn2->Items->Add(pGrid->Columns->Items[i]->FieldName);
  }

}
//---------------------------------------------------------------------------

void __fastcall TFormQuerySql::BitBtnAddClick(TObject *Sender)
{
  int nFlag,nRow;
  AnsiString sTemp;
  nFlag = CheckTj();
  if (nFlag == 1)
  {
    ShowMessage("请输入查询条件!");
    return;
  }
  if (nFlag == 2)
  {
    ShowMessage("输入的值与该字段的数据类型不匹配!");
    Edit1->SetFocus();
    return;
  }
  if (Panel1->Visible)
  {
    if (RBAnd->Checked) sTemp = sTemp + " and";
    else sTemp = sTemp + " or";
  }
  if (nFlag == 3)
  {
    sTemp = sTemp + " " + ComboBoxColumn2->Items->Strings[ComboBoxColumn1->ItemIndex] + " " + ComboBoxTj2->Items->Strings[ComboBoxTj1->ItemIndex] + " " + Edit1->Text.Trim();
  }
  else if (nFlag == 4)
  {
    sTemp = sTemp + " " + ComboBoxColumn2->Items->Strings[ComboBoxColumn1->ItemIndex] + " " + ComboBoxTj2->Items->Strings[ComboBoxTj1->ItemIndex] + " '" + Edit1->Text.Trim() + "'";
  }
  else if (nFlag == 5)
  {
    sTemp = sTemp + " " + ComboBoxColumn2->Items->Strings[ComboBoxColumn1->ItemIndex] + " " + ComboBoxTj2->Items->Strings[ComboBoxTj1->ItemIndex];
    Edit1->Text = "";
  }
  Memo2->Lines->Add(sTemp);
  sTemp = "";
  if (Panel1->Visible)
  {
    if (RBAnd->Checked) sTemp = "并且";
    else sTemp = "或者";
  }
  nRow = StringGrid1->RowCount - 1;
  StringGrid1->Cells[0][nRow] = sTemp;
  StringGrid1->Cells[1][nRow] = ComboBoxColumn1->Text;
  StringGrid1->Cells[2][nRow] = ComboBoxTj1->Text;
  StringGrid1->Cells[3][nRow] = Edit1->Text;
  StringGrid1->RowCount +=1;
  Edit1->Text = "";
  LabelGx->Visible = true;
  Panel1->Visible = true;

}
//---------------------------------------------------------------------------

void __fastcall TFormQuerySql::BitBtnClearClick(TObject *Sender)
{
  for(int i = 1; i < StringGrid1->RowCount ; i++)
  {
  StringGrid1->Cells[0][i] = "";
  StringGrid1->Cells[1][i] = "";
  StringGrid1->Cells[2][i] = "";
  StringGrid1->Cells[3][i] = "";
  }
  StringGrid1->RowCount = 2;
  Memo2->Clear();
  LabelGx->Visible = false;
  Panel1->Visible = false;
}
//---------------------------------------------------------------------------


void __fastcall TFormQuerySql::BitBtn1Click(TObject *Sender)
{
   sSql = "";
   sSql = Memo2->Text;
   if (sSql != "")
   sSql = "where (" + sSql + ")";
}
//---------------------------------------------------------------------------



void __fastcall TFormQuerySql::BitBtnQuitClick(TObject *Sender)
{
  sSql = "";
}
//---------------------------------------------------------------------------

void __fastcall TFormQuerySql::ComboBoxTj1Click(TObject *Sender)
{
  if (ComboBoxTj1->Text == "is") Edit1->Text = "";
}
//---------------------------------------------------------------------------

void __fastcall TFormQuerySql::RBAndClick(TObject *Sender)
{
  RBOr->Font->Color = clBlack;
  RBAnd->Font->Color = clBlue;
}
//---------------------------------------------------------------------------

void __fastcall TFormQuerySql::RBOrClick(TObject *Sender)
{
  RBOr->Font->Color = clBlue;
  RBAnd->Font->Color = clBlack;
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

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