Base access delphi 2005 lecture déplacement et enregistrement

Description

C'est surtout dans un but de formation que j'ai crée cette source, pour les vraiment débutant en delphi, voila comment crée une connexion SQL sur une base access,

Description :

1 base de donnée access dans le répertoire de l'application
Nom de la base : test1.mdb
nom de la table : table1
nom du champ utiliser : test

2 Mode opératoire :
Si vous ne voulez pas copier bêtement ce qui es dans le zip voici comment crée une connexion a une base Access :

Incorporé a votre projet un TADOConnection
dans la XXX.formcreat ajouter

ADOConnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+ExtractFilePath(Application.Exename)+'nom_de_la_base.mdb;Mode=ReadWrite;Persist Security Info=False';

Ce qui vous permettra de bouger le programme avec sa base ( pratique pour ne pas marqué le chemin en dur dans le code)

Incorporé a votre projet un TADOQuery
et liez le avec votre connexion : liaison/connection: votre TADOConnection exemple ADOConnection1

Nommez le ex RS personnellement j'ai utiliser ars

Source / Exemple :


unit Unit2;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DB, ADODB, StdCtrls;

type
  TForm2 = class(TForm)
    ADOConnection1: TADOConnection;
    ars: TADOQuery;
    Edit1: TEdit;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Button5: TButton;
    Label1: TLabel;
    Button6: TButton;
    Edit2: TEdit;
    Button7: TButton;
    Button8: TButton;
    procedure Button8Click(Sender: TObject);
    procedure Button7Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Button6Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Déclarations privées }
  public
    { Déclarations publiques }
  end;

var
  Form2: TForm2;

implementation

{$R *.dfm}

procedure TForm2.Button1Click(Sender: TObject);
begin
ars.SQL.Clear;
ars.SQL.Add('Select * from table1');
//ars.SQL.Add('Where Titre='+QuotedStr(CB_Film.Text));
ars.Open;
ars.First;
edit1.text:=ars.FieldByName('test').AsString;

//ars.SQL.close;

ars.SQL.Clear;
end;

procedure TForm2.Button2Click(Sender: TObject);
begin
//  ----------------------------------------Ajout dans une base de donnée access
      ars.SQL.Clear ;
      //Version mono ligne
      ars.SQL.Add('Insert into table1 (test) Values ('+QuotedStr(edit1.Text)+')');
      // Version Multi ligne
      //ars.SQL.Add('Insert into table1 (test)');
      //ars.SQL.Add(' Values ('+QuotedStr(edit1.Text)+')');
      ars.ExecSQL;
      ars.Close;
end;

procedure TForm2.Button3Click(Sender: TObject);
begin
ars.SQL.Clear;
ars.SQL.Add('Select * from table1');
//ars.SQL.Add('Where Titre='+QuotedStr(CB_Film.Text));
ars.Open;
ars.next;
edit1.text:=ars.FieldByName('test').AsString;

//ars.SQL.close;

ars.SQL.Clear;
end;

procedure TForm2.Button4Click(Sender: TObject);
begin
ars.SQL.Clear;
ars.SQL.Add('Select * from table1');
//ars.SQL.Add('Where Titre='+QuotedStr(CB_Film.Text));
ars.Open;
ars.last;
edit1.text:=ars.FieldByName('test').AsString;

//ars.SQL.close;

ars.SQL.clear;
end;

procedure TForm2.Button5Click(Sender: TObject);
begin
ars.SQL.Clear;
ars.SQL.Add('Select * from table1');
//ars.SQL.Add('Where Titre='+QuotedStr(CB_Film.Text));
ars.Open;
ars.last;
ars.Prior;
edit1.text:=ars.FieldByName('test').AsString;

ars.close;

ars.SQL.Clear;
end;

procedure TForm2.Button6Click(Sender: TObject);
begin
(* ne sert pas a grand chause juste a afficher la chaine de connexion *)
ADOConnection1.Close;
ADOConnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+ExtractFilePath(Application.Exename)+'test1.mdb;Mode=ReadWrite;Persist Security Info=False';
label1.Caption:= ADOConnection1.ConnectionString;
end;

procedure TForm2.FormCreate(Sender: TObject);
begin
(* a l'ouverture de l'aplication on recherche l'emplacement de l'aplication
et on l'affecte a la position de la base ce qui permet de déplacer la base et son aplication
ils doivent toutes fois etre dans le meme repertoir dans ce cas ou en tt cas
avoir un chemin relatif toujour egal *)
edit2.text:= ExtractFilePath(Application.Exename);
ADOConnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+ExtractFilePath(Application.Exename)+'test1.mdb;Mode=ReadWrite;Persist Security Info=False';
end;

procedure TForm2.Button7Click(Sender: TObject);
begin

ars.SQL.Clear;
//ouvrire la table
ars.SQL.Add('Select * from table1');
ars.Open;
//ce déplacer j'usqu'a l'avant dernier enregistrement
ars.last;
ars.Prior;

//modiffier le champcorrespondant
ars.Edit;
ars.FieldByName('test').AsString := Edit1.Text;
ars.Post;
ars.SQL.Clear;
end;

procedure TForm2.Button8Click(Sender: TObject);
begin
ars.SQL.Clear;
// connexion SQL filtre touts les enregistrement du champ test de la table table1
// et les efface a l'execution de la requette sql
ars.SQL.Add('delete * from table1');
ars.SQL.Add('Where test='+QuotedStr(edit1.Text));
ars.ExecSQL
end;

end.

Conclusion :


Toutes mes escuse a vous tous, il etait un peut tard et j'ai Zapper la verification de mon archive

Voila maintenant si vous vouhaitez modifier ou suprimer un enregistrement c'est expliquer

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.