ADODB를 Delphi 7에서 사용하고 UPDATE 쿼리의 경우 TADOConnection Execute 프로 시저 "recordsAffected"변수를 사용하여 수정 된 레코드의 수를 얻습니다. 이 같은 :ADODB : 매개 변수화 된 쿼리가있는 수정 된 레코드의 수
iResReq
수정 된 레코드 번호입니다
MyConnexion.Execute(sReq, iResReq, [eoExecuteNoRecords]);
.
지금 내가 좋아하는 매개 변수화 된 SQL과 매개 변수화 된 쿼리를 사용하려면 :
SQL.Add('UPDATE TABLE SET NAME="TEST" WHERE NAME=:PARAM);
Parameters.ParamByName('PARAM').text:='Smith';
하지만 난 정말 수정 된 레코드 수를 찾는 방법을 모르겠어요. 제 질문에 덧붙여 ADODB 매개 변수화 된 쿼리에 대한 좋은 tuto를 알고 있습니까?
매우 좋습니다! ExecSQL은 FUNCTION이며 수정 된 레코드의 수를 반환한다는 것을 알지 못했습니다. – philnext
Mikael이 그의 답변에서 지적했듯이 [TADOCommand] (http://docwiki.embarcadero.com/VCL/en/ADODB.TADOCommand)가이 목적에 더 적합합니다. [TADOQuery.ExecSQL] (http://docwiki.embarcadero.com/VCL/en/ADODB.TADOQuery.ExecSQL) 내부적으로 [TADOCommand.Execute]를 호출합니다 (http://docwiki.embarcadero.com/VCL/en/ADODB .TADOCommand.Execute), 조상에서 [TCustomADODataSet] (http://docwiki.embarcadero.com/VCL/en/ADODB.TCustomADODataSet). 그래서 나는 [TADOCommand] (http://docwiki.embarcadero.com/VCL/en/ADODB.TADOCommand);)를 선호 할 것입니다. – TLama
좋아, 나는 대답을 가지고있다. 그러나 'TADOCommand.execute', 'TADOQuery.execSQL'중에서 '좋은'선택은 ... 분명하지 않습니다. – philnext