C++ Builder 数据库编程
从来没接触过数据库编程,现在想学学 C++ Builder 数据库编,请各位给点建议,或者推荐点参考资料,基础的最好
[解决办法]
http://www.ccrun.com/view.asp?id=514
[解决办法]
//---------------------------------------#include <vcl.h>#pragma hdrstop#include "Mainform.h"//---------------------------------------#pragma package(smart_init)#pragma resource "*.dfm"TForm1 *Form1;//---------------------------------------__fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner){}//---------------------------------------#include <DB.hpp>#include <DBTables.hpp>void __fastcall TForm1::BitBtn1Click(TObject *Sender){ //创建数据库 try { TTable* newTable = new TTable(this); newTable->Active = false; newTable->DatabaseName =""; //数据库文件存放位置 newTable->TableName ="MyDatabase.db"; //数据库文件名 newTable->TableType = ttParadox; //数据库类型 //定义数据表字段类型 newTable->FieldDefs->Clear(); newTable->FieldDefs->Add("PID",ftInteger,0,true); //定义字段、类型、长度等 newTable->FieldDefs->Add("No",ftString,50,false); newTable->FieldDefs->Add("Name",ftString,50,false); newTable->FieldDefs->Add("Age",ftString,50,false); newTable->FieldDefs->Add("Phone",ftString,50,false); newTable->FieldDefs->Add("Address",ftString,50,false); newTable->FieldDefs->Add("IDCode",ftString,50,false); newTable->IndexDefs->Add("","PID", TIndexOptions() <<ixPrimary << ixUnique); //定义关键字 newTable->CreateTable(); //创建数据表 delete newTable; } catch(...) { MessageBox(Handle,"创建数据库操作失败!","信息提示",MB_OK); return; } MessageBox(Handle,"创建数据库操作成功!","信息提示",MB_OK);}//---------------------------------------void __fastcall TForm1::BitBtn2Click(TObject *Sender){ //增加数据库记录 try { Table1->DatabaseName=""; Table1->TableName="MyDatabase.db"; Table1->Active=true; Table1->Last(); int iPID=1; if(Table1->IsEmpty()) iPID=1; else iPID=Table1->FieldValues["PID"]+1; Table1->Append(); Table1->FieldValues["PID"]=iPID; Table1->FieldValues["No"]=this->Edit1->Text; Table1->FieldValues["Name"]=this->Edit2->Text; Table1->FieldValues["Age"]=this->Edit3->Text; Table1->FieldValues["Phone"]=this->Edit4->Text; Table1->FieldValues["Address"]=this->Edit5->Text; Table1->FieldValues["IDCode"]=this->Edit6->Text; Table1->ApplyUpdates(); Table1->CommitUpdates(); } catch(...) { MessageBox(Handle,"增加数据库记录操作失败!","信息提示",MB_OK); return; } MessageBox(Handle,"增加数据库记录操作成功!","信息提示",MB_OK);}//---------------------------------------void __fastcall TForm1::BitBtn3Click(TObject *Sender){//查询数据库记录 AnsiString StrName=InputBox("输入查询条件","请输入查询姓名: ",""); Table1->DatabaseName=""; Table1->TableName="MyDatabase.db"; Table1->Close(); Table1->Filter="Name=\'"; Table1->Filter+=StrName; Table1->Filter+="\'"; Table1->Filtered=true; Table1->Active = true; if(Table1->IsEmpty()) { this->Edit1->Text=""; this->Edit2->Text=""; this->Edit3->Text=""; this->Edit4->Text=""; this->Edit5->Text=""; this->Edit6->Text=""; MessageBox(Handle,"没有找到!","信息提示",MB_OK); } else { this->Edit1->Text=Table1->FieldValues["No"]; this->Edit2->Text=Table1->FieldValues["Name"]; this->Edit3->Text=Table1->FieldValues["Age"]; this->Edit4->Text=Table1->FieldValues["Phone"]; this->Edit5->Text=Table1->FieldValues["Address"]; this->Edit6->Text=Table1->FieldValues["IDCode"]; }}//---------------------------------------void __fastcall TForm1::BitBtn4Click(TObject *Sender){//删除数据库记录; if(MessageBox(Handle,"是否确认删除当前数据库记录?","信息提示",MB_YESNO)==IDNO) return; try { this->Table1->Delete(); this->Table1->CommitUpdates(); this->Table1->ApplyUpdates(); } catch(...) { MessageBox(Handle,"请首先创建数据库!","信息提示",MB_OK); return; } MessageBox(Handle,"删除数据库记录操作成功!","信息提示",MB_OK);}//---------------------------------------void __fastcall TForm1::BitBtn5Click(TObject *Sender){ this->Close();}//---------------------------------------