[MySQL] Insertion impossible avec id auto-increment
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 :
Code:
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; |
Delphi me retourne l'erreur :
"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
Code:
SQL.Add('UPDATE icones SET image = :myimg WHERE idimage = ' + img_id);
Pour info j'utilise Delphi 2010 et je me connecte en ADO sur ma DB MySQL.