3
Postores 데이터베이스와 함께 Adoquery를 사용하고 있습니다. UPDATE 또는 INSERT 쿼리를 수행 할 때 ExecSql이나 OPEN이 영향을받는 레코드 수를 반환하지만 항상 -1을 반환합니다. psqlODBC : 09.01.0200의 최신 버전을 사용합니다.Delphi에서 PostgresSql로 ADOquery로 업데이트 쿼리를 수행하는 코드를 반환
코드 :
Adoquery1.close;
Adoquery1.SQL.Clear;
query := 'insert into testtabel (nummer, naam) values (3,''Barnsten'') ';
Adoquery1.SQL.Add(query) ;
result := Adoquery1.ExecSql;
결과는 -1
왜 그냥 보통'Insert' 및 오며 'Post 메커니즘을 사용하지 않는? –
아마도 DBAware 컨트롤이 뒤에 있습니까? – pf1957
'Adoquery1.ExecSQL;'을 호출 한 직후에'AdoQuery1.Close; AdoQuery1.SQL.Text : ='SELECT nummer, naam FROM testtabel 여기서 nummer = 3 및 naam = ''Barnsten ''); AdoQuery1.Open; ShowMessage ('결과 :'+ IntToStr (ADOQuery1.RowCount)); '? 당신은'1'을 얻습니까? 그렇지 않으면'INSERT'가 실패하고'RowsAffected'에서 얻은 값이 정확합니다. 'Open'은'RowsAffected'를 사용하지 않습니다; IIRC 대신'RowCount'를 사용합니다. –