델파이를 이제 갖 시작하게 되었습니다.
DML문을 실행 한 후 수정된 데이터의 건수를 가지고오고 싶습니다.
insert인경우 insert에 성공한 데이터의 갯수
update인 경우 update에 변경 성공된 데이터의 갯수
delete인경우 delete된 데이터의 갯수를 알고 싶습니다.
코딩은 아래와 같이 하였구요
dml 실행 후 데이터 변경값을 어떻게 가져오는지 알려주시면 감사하겠습니다.
어디에도 나와있지 않아 참 난감하네요....
그럼 부탁드립니다.
소스 입니다.
ssql :='update test set test1=11,test2=22 where test1=1'
getQuery.Close;
getQuery.SQL.Clear;
getQuery.SQL.Add(ssql);
getQuery.ExecSQL;
getQuery는 TQuery 타입입니다.
update문은 DB에 보내어 연산을 하게되는 명령문으로 델파이와는 관계가 없다고 봅니다.
즉 쿼리문을 통하여 결과값을 산출해 내야 됩니다.
오라클인 경우 트리거를 생성하여 변형된 카운터를 구할 수 있습니다.
공용으로 사용할수 있는 로직으로는 다음과 같겠네요..
<!--CodeS-->
var
DML_num : Integer;
begin
//업데이트를 실행하기전 변경되야할 갯수를 구함.
ssql := ' select count(*) as cnt from test where test1=1 and test1 != 11 and test2 != 22';
getQuery.Close;
getQuery.SQL.Clear;
getQuery.SQL.Add(ssql);
getQuery.SQL.Open;
DML_num := getQuery.FieldByName('cnt').AsInteger;
getQuery.Close;
getQuery.SQL.Clear;
ssql :='update test set test1=11,test2=22 where test1=1';
getQuery.SQL.Add(ssql);
getQuery.ExecSQL;
end;
<!--CodeE-->