안녕하세요
언제나 여기에 와서 많은 도움을 받고 가는 초보 개발자입니다
지금 log 파일을 DB에 저장하는 프로그램을 만들고 있는데요
DB에 저장하는 부분은 잘 작동하는데
select로 저장되어 있는 값을 가져오거나
update로 저장된 값을 수정하는 부분에서 문제가 있네요
우선 update 부분을 보여드리면..
with ArrayADOQuery[num] do
begin
close;
SQL.Clear;
SQL.Add('update ');
SQL.Add(ArrayTableName[num]);
SQL.Add(' set 상태=''종료'' ');
SQL.Add('where 게임번호 = '''+sId+''' ');
ExecSQL;
end;
이 부분인데요
분명 같은 게임 번호(sId)를 가지는 레코드가 DB에 저장되어 있는데
어떤 때는 상태 field를 '종료'로 바꾸고
어떤 때는 안바꾸고 그냥 지나가고 하네요
거의 랜덤 수준이에요 ㅡㅜ
sId, num 값이 중간에 혹시나 바뀌나해서 확인해 봤는데 그렇지는 않고요
다른 문제가 될 만한 부분이 있나요?
예전에 select로 저장된 값을 가져오는 부분이 있었는데
그 때도 값을 가져 올때도 있고 그냥 지나칠 때도 있고 해서
우선은 지나쳤거든요 ㅡ.ㅡ;;
그 부분은 아래 부분입니다
ArrayADOQuery[num].SQL.Clear;
ArrayADOQuery[num].SQL.Add('Select 시작시간 from ');
ArrayADOQuery[num].SQL.Add(ArrayTableName[num]);
ArrayADOQuery[num].SQL.Add(' where 게임번호 = '''+sId+''' and 상태 = ''시작'' ');
ArrayADOQuery[num].Open;
sS_time := ArrayADOQuery[num].FieldByName('시작시간').AsString;
ArrayADOQuery[num].Close;
왜 랜덤하게 실행이 되는지 아무리 봐도 모르겠네요
약간의 오류 가능성이 있는 부분이라도 집어 주시면 고맙겠습니다~ ^^;
느려서 때때로 insert후에 바로 query 응답 못하는 경우였네요 ^^;