📄 main.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Main.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "ABSMain"
#pragma resource "*.dfm"
TForm1 *Form1;
const AnsiString DataBaseFileName = "..\\..\\Data\\Demos.abs";
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
TABSQuery *q;
dbDemos->DatabaseFileName = ExtractFilePath(Application->ExeName) + DataBaseFileName;
dbDemos->Open();
q = new TABSQuery(NULL);
try {
q->DatabaseName = dbDemos->DatabaseName;
q->SQL->Clear();
q->SQL->Append("drop table friends;");
q->SQL->Append("create table friends (id AutoInc, name varchar(20));");
q->SQL->Append("insert into friends (name) values ('Kim');");
q->SQL->Append("insert into friends (name) values ('Scott');");
q->ExecSQL();
} __finally {
delete q;
}
ABSTable1->Open();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
{
ABSTable1->Close();
ABSTable1->DeleteTable();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::btTransactionWithTableClick(TObject *Sender)
{
dbDemos->StartTransaction();
try {
ABSTable1->Insert();
ABSTable1->FieldByName("name")->AsString = "Kelly";
ABSTable1->Post();
dbDemos->Commit(cbFlush->Checked);
} catch (Exception &e){
dbDemos->Rollback();
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::btTransactionWithQueryClick(TObject *Sender)
{
ABSQuery1->SQL->Text = "START TRANSACTION; INSERT INTO friends (name) values ('Junior');";
if (cbFlush->Checked) {
ABSQuery1->SQL->Text = ABSQuery1->SQL->Text + "COMMIT;";
} else {
ABSQuery1->SQL->Text = ABSQuery1->SQL->Text + "COMMIT NOFLUSH;";
}
try {
ABSQuery1->ExecSQL();
} catch (Exception &e) {
ABSQuery1->SQL->Text = "ROLLBACK";
ABSQuery1->ExecSQL();
}
ABSTable1->Refresh();
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -