Bonjour,

Je suis sur l'élaboration d'une application de gestion de bibliothèque?

Je désirerais insérer une image des couvertures dans la base de données. En cherchant sur le forum, il était conseillé d'ouvrir un champ de type image et d'utiliser un TDBIMage. J'ai donc fait ceci :

Pour ouvrir la table :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
 
begin
  Repertoire := ExtractFilePath(Application.Name);
  Table1 := TTable.Create(nil);
  with Table1 do begin
    TableName := Repertoire + 'base\biblio.db';
    if not Exists then begin
      Active := False;
      TableType := ttParadox;
      TableName := Repertoire + 'base\biblio.db';
      with FieldDefs do begin
        Clear;
        Add('Titre', ftString, 50, True);
        Add('Soustitre', ftString, 50, False);
        Add('Genre', ftString, 30, False);
        Add('Auteur', ftString, 30, False);
        Add('Editeur', ftString, 30, False);
        Add('Date de publication', ftDate, 0, False);
        Add('Resume', ftMemo, 255, False);
        Add('Commentaires', ftMemo, 255, False);
        Add('Couverture', ftGraphic, 0, False);
      end;
      CreateTable;
    end;
    DataSource1.DataSet := Table1;
    Open;
  end;
end;
Pour mettre l'image dans la DBImage

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
Begin
If OpenPictureDialog1.Execute then
 begin
  DbImage1.Picture.LoadFromFile(OpenPictureDialog1.FileName);
 end;
end;
Après ceci, je n'arrive pas à envoyer l'image dans la base de données et pour les autres champs je fais ainsi

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
var
  destination: string;
begin
  destination := ExtractFilePath(Application.ExeName);
  if EdTitre.Text <> '' then begin
    Table1.Edit;
    Table1.FieldByName('Titre').Value := EdTitre.Text;
    Table1.FieldByName('Auteur').Value := EdAuteur.Text;
    Table1.FieldByName('Editeur').Value := EdEditeur.Text;
    Table1.FieldByName('Resume').Value := MemoResume.Text;
 
    Table1.Post;
    Close;
  end;
end;
Pourriez-vous m'aider à résoudre ce problème.

Merci d'avance.

Lohot