3
J'utilise Adoquery avec une base de données Postgres. Lorsque je fais une requête UPDATE ou INSERT, ExecSql ou OPEN renvoie le nombre d'enregistrements affectés comme il se doit, mais toujours -1. J'utilise la dernière version de psqlODBC: 09.01.0200.Code de retour d'une requête de mise à jour avec ADOquery dans Delphi vers PostgresSql
code:
Adoquery1.close;
Adoquery1.SQL.Clear;
query := 'insert into testtabel (nummer, naam) values (3,''Barnsten'') ';
Adoquery1.SQL.Add(query) ;
result := Adoquery1.ExecSql;
Résultat moi -1
Pourquoi ne pas simplement utiliser l'habituel '' Insert' et le mécanisme Post'? –
Peut-être qu'il n'y a pas de contrôle DBAware derrière? – pf1957
Que se passe-t-il si juste après l'appel de 'Adoquery1.ExecSQL;', vous ajoutez 'AdoQuery1.Close; AdoQuery1.SQL.Text: = 'SELECT nummer, naam FROM testtabel où nummer = 3 et naam = '' Barnsten ''); AdoQuery1.Open; ShowMessage ('Résultat:' + IntToStr (ADOQuery1.RowCount)); '? Avez-vous le '1'? Sinon, le 'INSERT' a échoué, et la valeur que vous avez obtenue de' RowsAffected' était correcte. 'Open' n'utilise pas' RowsAffected'; il utilise 'RowCount' à la place, IIRC. –