ZEOS 에 관해 또 질문할게요.
ADOQuery를 사용하다 ZEOS로 변경해서 기존 프로그램을 수정하는 중입니다.
ADOQuery에서 UPDATE 쿼리를 날리고
ADOQuery.RowsAffected 를 하면 수정된 Row의 수를 리턴합니다.
그런데 Zeor Query를 사용하면 분명 USERMENU Table 수정할 자료가 있고
수정도 성공을 했는데
if ZQuery1.RowsAffected <= 0 then 에서 0을 리턴해서 Duplicate 오류가 발생합니다.
ZEOS 고수님의 한 수 부탁합니다.
ZQuery1.Sql.Clear;
ZQuery1.Sql.Add('UPDATE USERMENU SET EXCELPRINT = 1');
ZQuery1.Sql.Add('WHERE USERID = ''' + edtUSERID.Text + '''');
ZQuery1.ExeCSql;
if ZQuery1.RowsAffected <= 0 then
begin
ZQuery1.Sql.Clear;
ZQuery1.Sql.Add('INSERT INTO USERMENU(USERID, EXCELPRINT) VALUES(');
ZQuery1.Sql.Add('''' + edtUSERID.Text + ''',');
ZQuery1.Sql.Add('1)');
ZQuery1.ExeCSql;
end;
아니면 select 를 먼저해서 분기 하는것도...