os : win2000 프로페셔날
delphi : 5.0
익스플로우 : 5.5 <--- ado 같이 있다고 하네요.. 잘 모르지만..
소스내용
=====================
for i:= 1 to 100000 do
begin
if Trim(SG1.Cells[0,i]) = '' then
break;
Str := ' select mmm as aa from ';
Str := Str + ' member where member_id = ' + '''';
Str := Str + Trim(SG1.Cells[3,i]);
Str := Str + '''' + ' and pay_yr = ' + '''' + '2000' + '''';
ADOQuery_sql.Close;
ADOQuery_sql.SQL.Clear;
ADOQuery_sql.SQL.Add(Str);
ADOQuery_sql.Open;
ADOQuery_sql.First;
if ADOQuery_sql.RecordCount <> 0 then
SG1.Cells[27,i] := Trim(ADOQuery_sql.FieldbyName('aa').ASString);
end;
=================================
이렇게 쿼리를 날리면 읽어 오는 data를 보니 첫번째, 두번째 값 있음
1,2번째는 디스플레이 되고
3번째는 값이 없기때문에 if 문에 의해서 처리 되지 않고 다시 for 문을 만나
실행 하여 내려 오면
ADOQuery_Sql.close;에서 에러가 납니다.
1. " BOF 또는 EOF가 참이거나, 현재 레코드를 삭제 했습니다. 요청한 작업에 현재레코드가 필요합니다"
참고로 win98se에서는 나지 않았거든요...
ADO문제 인지 os문제인지... 난감 합니다.
고수님 부탁해요...
그럼 20000
***** 운영자님에 의해서 게시물 이동 + 카테고리유지되었습니다 (2004-10-20 03:16)
***** 운영자님에 의해서 게시물 이동 + 카테고리유지되었습니다 (2004-10-20 03:16)