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

📄 main.cpp

📁 AbsDataBase5.16 最新版
💻 CPP
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop

#include "Main.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "ABSMain"
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::rbTableClick(TObject *Sender)
{
  mSQL->Enabled = rbQuery->Checked;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::btnCreateIndexClick(TObject *Sender)
{
  AnsiString  s,desc,nocase;
  TIndexOptions Options;

  Table->Close();
  try {
    if (rbQuery->Checked) {
      s = "create ";
      if (cbUnique->Checked) s = s + " unique ";
      s = s + " index " + eIndexName->Text + " on friends (name ";
      if (!cbAsc->Checked) s = s + " desc ";
      if (!cbCase->Checked) {
        s = s + " case";
      } else {
        s = s + " nocase";
      }
      s = s + ")";
      mSQL->Text = s;
      Query->SQL->Text = s;
      Query->ExecSQL();
    } else {
      Options = TIndexOptions();
      if (cbUnique->Checked) Options = TIndexOptions() << ixUnique;
      desc = "";
      nocase = "";
      if (!cbAsc->Checked) desc = "name";
      if (!cbCase->Checked) nocase = "name";
      Table->RestructureIndexDefs->Add(eIndexName->Text, "name", Options, false, desc, nocase, "");
      Table->RestructureTable();
    }
  } __finally {
    Table->Open();
  }
  UpdateIndexList();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::btnDropIndexClick(TObject *Sender)
{
  AnsiString s;

  Table->Close();
  try {
    if (rbQuery->Checked) {
      s = "drop index friends." + eIndexName->Text;
      mSQL->Text = s;
      Query->SQL->Text = s;
      Query->ExecSQL();
    } else {
      Table->RestructureIndexDefs->DeleteIndexDef(eIndexName->Text);
      Table->RestructureTable();
    }
  } __finally {
    Table->Open();
  }
  UpdateIndexList();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
  Table->InMemory = True;
  Table->FieldDefs->Clear();
  Table->FieldDefs->Add("id",ftAutoInc,0,false);
  Table->FieldDefs->Add("name",ftString,20,false);
  Table->IndexDefs->Clear();
  Table->IndexDefs->Add("pk_Id", "id", TIndexOptions() << ixPrimary);
  Table->CreateTable();
  Table->Open();
  Table->Append();
  Table->FieldByName("name")->AsString = "Billy";
  Table->Post();
  Table->Append();
  Table->FieldByName("name")->AsString = "Mary";
  Table->Post();
  UpdateIndexList();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::UpdateIndexList()
{
  Integer i;
  AnsiString s;

  lbIndexes->Clear();
  for (i=0; i < Table->IndexDefs->Count; i++) {
    s = Table->IndexDefs->Items[i]->Name;
    s = s + " (" + Table->IndexDefs->Items[i]->Fields + ")";
    lbIndexes->Items->Add(s);
  }
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

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