Newsgroup: it.comp.lang.delphi
Titolo: Come inserisco un file immagine in un DB ACCESS ?

Ciao a tutti
AIUTO !!!!
Sto impazzendo per cercare di inserire un qualunque file immagine (diciamo
una qualunque sequenza binaria) all'interno di un DB Access.
Di che tipo deve essere il campo del DB ? OLE ? MEMO ? Boh ?
Come faccio da delphi a inserire un file (es BMP) all'interno del DB ACCESS
in formato binario ? Come faccio poi a recuperarlo ?
Preciso che utilizo i componenti ADO Connection, ADO Table etc....
Grazie anticipatamente per la risposta
Ciao
Mario

 Preciso che utilizo i componenti ADO Connection, ADO Table etc....
tutti i componenti DB controls sono indipendenti
dal tipo di DB usato infatti si collegano ad un Datasource e non
direttamente alla ADO Table
dopo i saluti ti posto il codice di un'applicazione molto "Dummy" per
controllare una tabella
ACCESS con un campo di tipo testo "nome" ed un campo di tipo OLE "immagine"
il db1.mdb che creerai deve essere messo nella cartella del compilato.
se hai qualche problema ti ivio i sorgenti via mail ...
  Ciao
  Mak
//Codice del dfm
object Form1: TForm1
  Left = 369
  Top = 184
  Width = 337
  Height = 267
  Caption = 'Form1'
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'MS Sans Serif'
  Font.Style = []
  OldCreateOrder = False
  DesignSize = (
    329
    233)
  PixelsPerInch = 96
  TextHeight = 13
  object DBImage1: TDBImage
    Left = 80
    Top = 72
    Width = 241
    Height = 153
    Anchors = [akLeft, akTop, akRight, akBottom]
    DataField = 'immagine'
    DataSource = DataSource1
    TabOrder = 0
  end
  object DBNavigator1: TDBNavigator
    Left = 80
    Top = 8
    Width = 240
    Height = 25
    DataSource = DataSource1
    Anchors = [akLeft, akTop, akRight]
    Flat = True
    TabOrder = 1
  end
  object DBEdit1: TDBEdit
    Left = 80
    Top = 40
    Width = 241
    Height = 21
    Anchors = [akLeft, akTop, akRight]
    DataField = 'nome'
    DataSource = DataSource1
    TabOrder = 2
  end
  object Button1: TButton
    Left = 8
    Top = 72
    Width = 67
    Height = 25
    Caption = 'File'
    TabOrder = 3
  end
  object ADOTable1: TADOTable
    Active = True
    ConnectionString =
      'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=db1.mdb;Persist Security
I' +         //forse qui avrai bisogno di cambiare la connection string
      'nfo=False'
    CursorType = ctStatic
    TableName = 'Tabella1'
    Left = 8
    Top = 8
    object ADOTable1nome: TWideStringField
      FieldName = 'nome'
      Size = 50
    end
    object ADOTable1immagine: TBlobField
      FieldName = 'immagine'
      BlobType = ftGraphic
    end
  end
  object DataSource1: TDataSource
    DataSet = ADOTable1
    Left = 40
    Top = 8
  end
  object OpenDialog1: TOpenDialog
    Left = 8
    Top = 40
  end
end
//Codice della Unit
unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DB, DBCtrls, ADODB, StdCtrls, Buttons, ExtCtrls, Mask;
type
  TForm1 = class(TForm)
    ADOTable1: TADOTable;
    ADOTable1immagine: TBlobField;
    DBImage1: TDBImage;
    DataSource1: TDataSource;
    OpenDialog1: TOpenDialog;
    DBNavigator1: TDBNavigator;
    ADOTable1nome: TWideStringField;
    DBEdit1: TDBEdit;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
        IF OpenDialog1.Execute Then
          DBImage1.Picture.LoadFromFile(OpenDialog1.Filename);
end;
end.