使用原生ADO进行数据库存取。

    技术2022-05-11  105

    使用原生ADO进行数据存储,本例子能够显示,向下翻页,但向上翻页有问题。修改后的存储,删除等都存在问题,各位朋友修改一下,我只当起个抛砖引玉的作用。

    //.cpp程序

    //---------------------------------------------------------------------------

    #include <vcl.h>#pragma hdrstop

    #include "Unit1.h"//---------------------------------------------------------------------------#pragma package(smart_init)#pragma resource "*.dfm"#include <DAO_97.h>

    TForm1 *Form1;//---------------------------------------------------------------------------__fastcall TForm1::TForm1(TComponent* Owner)        : TForm(Owner){}//---------------------------------------------------------------------------

     

    void __fastcall TForm1::Button1Click(TObject *Sender){VConnect= CreateOleObject("ADODB.Connection");// 打开连接VConnect.OleFunction("Open","Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D://ado//bcdemos.mdb;Persist Security Info=False");}//---------------------------------------------------------------------------

    void __fastcall TForm1::Button2Click(TObject *Sender){   VRecordSet=CreateOleObject("ADODB.RecordSet");   VRecordSet.OlePropertySet("ActiveConnection",VConnect);   // 设定指令类型与内容   VRecordSet.OleFunction("Open","Select * from employee", VConnect); // 执行指令   ShowRecord();}//---------------------------------------------------------------------------void TForm1::ShowRecord(){   txtEmpNo->Text=VarToStr(VRecordSet.OlePropertyGet("Fields","EmpNo"));   txtLastName->Text=VarToStr(VRecordSet.OlePropertyGet("Fields","LastName"));   txtFirstName->Text=VarToStr(VRecordSet.OlePropertyGet("Fields","FirstName"));   txtPhone->Text=VarToStr(VRecordSet.OlePropertyGet("Fields","PhoneExt"));   txtHireDate->Text=VarToStr(VRecordSet.OlePropertyGet("Fields","HireDate"));   txtSalary->Text=VarToStr(VRecordSet.OlePropertyGet("Fields","Salary"));}void __fastcall TForm1::Button3Click(TObject *Sender){  VRecordSet.OleFunction("Update","LastName",txtLastName->Text);}//---------------------------------------------------------------------------

    void __fastcall TForm1::Button4Click(TObject *Sender){if (! VRecordSet.OlePropertyGet("BOF") ){   VRecordSet.OleFunction("MoveFirst") ;   ShowRecord();   }}//---------------------------------------------------------------------------

    void __fastcall TForm1::Button6Click(TObject *Sender){if (! VRecordSet.OlePropertyGet("BOF") ){   VRecordSet.OleFunction("MovePrevious");   ShowRecord();   }}//---------------------------------------------------------------------------

    void __fastcall TForm1::Button7Click(TObject *Sender){if (! VRecordSet.OlePropertyGet("EOF") ){   VRecordSet.OleFunction("MoveNext");   ShowRecord();   }}//---------------------------------------------------------------------------

    void __fastcall TForm1::Button5Click(TObject *Sender){//if (! VRecordSet.OlePropertyGet("EOF") ){   VRecordSet.OleFunction("MoveLast");   ShowRecord();//   }}//---------------------------------------------------------------------------

     

     

    //.h程序

    //---------------------------------------------------------------------------

    #ifndef Unit1H#define Unit1H//---------------------------------------------------------------------------#include <Classes.hpp>#include <Controls.hpp>#include <StdCtrls.hpp>#include <Forms.hpp>#include <ExtCtrls.hpp>#include <Graphics.hpp>#include <ADODB.hpp>#include <Db.hpp>#include <ComObj.hpp>#include <DBGrids.hpp>#include <Grids.hpp>//---------------------------------------------------------------------------class TForm1 : public TForm{__published: // IDE-managed Components        TPanel *Panel1;        TButton *Button1;        TButton *Button2;        TButton *Button3;        TButton *Button4;        TButton *Button5;        TButton *Button6;        TButton *Button7;        TLabel *Label1;        TEdit *txtEmpNo;        TLabel *Label2;        TEdit *txtLastName;        TLabel *Label3;        TEdit *txtFirstName;        TLabel *Label4;        TEdit *txtPhone;        TLabel *Label5;        TEdit *txtHireDate;        TLabel *Label6;        TEdit *txtSalary;        void __fastcall Button1Click(TObject *Sender);        void __fastcall Button2Click(TObject *Sender);        void __fastcall Button3Click(TObject *Sender);        void __fastcall Button4Click(TObject *Sender);        void __fastcall Button6Click(TObject *Sender);        void __fastcall Button7Click(TObject *Sender);        void __fastcall Button5Click(TObject *Sender);        void __fastcall FormCreate(TObject *Sender);private: // User declarations        Variant VConnect;        Variant VRecordSet;        void  ShowRecord();public:  // User declarations        __fastcall TForm1(TComponent* Owner);};//---------------------------------------------------------------------------extern PACKAGE TForm1 *Form1;//---------------------------------------------------------------------------#endif


    最新回复(0)