Bonjour,
Comme le dit le titre, il m'est toujours impossible de réaliser un UPDATE ou un INSERT quand, dans ma table MySQL, j'ai un champ auto-incrémenté.
Si je le supprime ça fonctionne nickel.
Voici une partie de code qui pose problème :
Delphi me retourne l'erreur :
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 procedure TfrmIcones.dbiIconeDblClick(Sender: TObject); var img_id : string; begin if OpenPictureDialog.Execute then begin with qryIcones do begin img_id := FieldByName('idimage').AsString; Close; SQL.Clear; SQL.Add('UPDATE icones SET image = :myimg WHERE idimage = ' + img_id); ParamCheck := True; Parameters.ParamByName('myimg').LoadFromFile(OpenPictureDialog.FileName, ftBlob); try ExecSql; Active := False; SQL.Clear; SQL.Add('SELECT * FROM icones ORDER BY application'); Active := True; Locate(img_id, 'idimage', []); Except on E:Exception do begin Showmessage('Erreur lors de l''insertion de l''image dans la base de données : ' + E.Message); end; end; end; end; end;
"Le projet a déclenché la classe d'exception EOleException avec le message 'Les arguments sont de type incorrect, en dehors des limites autorisées ou en conflit les uns avec les autres'."
Sur le code
Pour info j'utilise Delphi 2010 et je me connecte en ADO sur ma DB MySQL.
Code : Sélectionner tout - Visualiser dans une fenêtre à part SQL.Add('UPDATE icones SET image = :myimg WHERE idimage = ' + img_id);
Partager