3
我使用Adoquery和Postgres數據庫。 當我執行UPDATE或INSERT查詢時,ExecSql或OPEN都會返回受影響記錄的數量,但它總是返回-1,但始終爲-1。 我使用最新版本的psqlODBC:09.01.0200。使用Delphi中的ADOquery對PostgresSql進行更新查詢的返回代碼
代碼:
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 where nummer = 3 and naam =''Barnsten''); AdoQuery1.Open; ShowMessage('Result:'+ IntToStr(ADOQuery1.RowCount));'?你有'1'嗎?如果沒有,INSERT失敗,並且從RowsAffected獲得的值是正確的。 'Open'不使用'RowsAffected';它使用'RowCount'代替IIRC。 –