Bonjour,
J'ai la même erreur que charliejo (voir son message ici). Sa réponse ne fonctionne pas dans mon cas.
J'utilise Delphi 7 et j'aimerais exécuter une requête sous PostgreSQL.

- Ma chaine de connexion est :
'Provider=PostgreSQL.1;data source=localhost;location=postgres;User ID=postgres;Password=pwd'
- Ma table est 'toute simple' :
1 2 3 4 5 6 7 8 9
| CREATE TABLE electrical_function_ef
(
ef_id character varying(11) NOT NULL,
ef_desc character varying(80) NOT NULL,
fa_id character varying(20) NOT NULL,
val character varying(16),
tol character varying(16),
CONSTRAINT pk_electrical_function_ef PRIMARY KEY (ef_id)
) |
- Et ma requête est de la forme :
insert into electrical_function_ef (EF_ID, EF_DESC, FA_ID, VAL, TOL) values ('2603148', '10-497640-025 PCB CONTACT PIN SIZE 20', 'CONN-CIR', '', '')
Celle-ci fonctionne bien lorsque je l'écris sous PostgreSQL.
De plus l'insertion avec Delphi s'effectue quand même malgré l'erreur.
Le problème est que la requête renvoie 0 :
1 2 3 4
| _adoQuery.SQL.Add (....)
count := adoQuery.ExecSQL;
adoQuery.Close;
result := (count = 1); |
Le count est égal à 0
(Je suppose donc que les 2 sont liés.
J'ai effectué de nombreuses recherches sur Internet, mais je n'ai trouvé aucune réponse à ce problème pourtant récurent.
Pouvez-vous m'expliquer sa réponse ? Ou me donner un élément de résolution de ce problème ?
Par
1 2
|
DRIVER={PostgreSQL};DATABASE=base_dev;SERVER=box1;PORT=5432;UID=user;PWD=pwd;READONLY=0;PROTOCOL=6.4; FAKEOIDINDEX=0;SHOWOIDCOLUMN=0;ROWVERSIONING=0;SHOWSYSTEMTABLES=0;CONNSETTINGS=;FETCH=100;SOCKET=4096; UNKNOWNSIZES=0;MAXVARCHARSIZE=254;MAXLONGVARCHARSIZE=8190;DEBUG=0;COMMLOG=0;OPTIMIZER=1;KSQO=1; USEDECLAREFETCH=0;TEXTASLONGVARCHAR=1;UNKNOWNSASLONGVARCHAR=0;BOOLSASCHAR=1;PARSE=0;CANCELASFREESTMT=0;EXTRASYSTABLEPREFIXES=dd_; |
Je sais pas quel paramètre était nécessaire... mais je n'ai plus le problème.
Merci d'avance,
Bonne journée,
Meloo
Partager