salut j'ai utilise la BD firebird2.5 avec les composantes suivantes:
OpenPictureDialog1 , edit1.text , edit2.text , DBImage1
FDConnection1 , FDQuery1
DBGrid1 , DataSource1
Buttoninserer
mon table clients contient 3 champs: code_cl, nom_cl, Photos
le champ photos de type Blob
Je veux insérer une image dans la base de données firebird
Mais cette erreur apparaît:
Dynamic SQL Error
SQL error code = -104
Token unknown - line 3, column 8
9
voila le code du bouton insérer:
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
29
30
31
32
33
34
35
36
37
38
39 procedure TForm1.ButtoninsererClick(Sender: TObject); Var Im: TPicture; sExt,sFileName : String; begin if OpenPictureDialog1.Execute then Begin sFileName:= OpenPictureDialog1.FileName; sExt:= UpperCase(ExtractFileExt(sFileName)); with FDQuery1 do begin Close; SQL.Clear; SQL.Add('INSERT INTO clients'); SQL.Add('(code_cl,nom_cl,Photos)'); SQL.Add('VALUES :code,:nom,:Photo)'); ParamByName('code').Value := edit1.text; ParamByName('nom').Value := edit2.text; ParamByName('Photo').Assign(DBImage1.Picture.Bitmap); Prepared:=True; ExecSQL; end; if (sExt='.JPEG') or (sExt='.JPG') then Begin Im:= TPicture.Create; Im.LoadFromFile(sFileName); DBImage1.Picture.Bitmap.Assign(Im.Graphic); Im.Free; End Else if (sExt='.BMP') then DBImage1.Picture.LoadFromFile(sFileName) Else ShowMessage(' l''extension de l''image non supporte '); End; end;
Partager