返回使用Delphi中的ADOquery对PostgreSQL进行更新查询的代码

时间:2013-04-17 12:32:20

标签: delphi tadoquery

我正在使用Adoquery和Postgres数据库。 当我执行UPDATE或INSERT查询时,ExecSql和OPEN都会返回受影响的记录数,但始终为-1。 我使用最新版本的psqlODBC:09.01.0200。

代码:

Adoquery1.close;
Adoquery1.SQL.Clear;
query := 'insert into  testtabel (nummer, naam) values (3,''Barnsten'') ';
Adoquery1.SQL.Add(query ) ;
result := Adoquery1.ExecSql;

结果是-1

1 个答案:

答案 0 :(得分:0)

function PerformSQL(const ASQL: string): integer;
begin
  Result := -1;
  if ASQL <> '' then
  begin
    ZQuery1.SQL.Text := ASQL;
    ZQuery1.ExecSQL;
    Result := ZQuery1.RowsAffected;
  end;
end;



 ShowMessage
    (IntToStr(PerformSQL('insert into test(te_id, te_code, te_name, te_type)' +
    ' VALUES(DEFAULT, 15, ''tezty68'', 1), (DEFAULT, 16, ''teztx75'', 1), (DEFAULT, 18, ''teztx89'', 1)')
    ));

给我3。