📄 main.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 + -