Q&A

  • ADO + M$-SQL 2000 에서 Eof 문제
델파이 5 로 ADO를 이용해서 M$-SQL 관련 프로그램을 하고 있습니다.

얼마전 M$-SQL 을 7.0에서 2000으로 버젼업을 했는데.



스토워드를 사용하거나 기존 조회는 아무런 문제가 없는데,

Eof 를 하게 되면 에러가 납니다.

다음은 구문입니다.



with AdoQuery do begin

Close;

SQL.Clear;

SQL.Add(' select AgentCode from Tbl_Agent ');

Open;

while not Eof do begin

ComboBox1.Items.Add(Fields[0].AsString);

Next;

end;

end;



위와 같이 실행을 하면 7.0에서는 아무런 문제가 없었는데. SQL-2000서버 환경에서는



"BOF 또는 EOF가 참이거나, 현재 레코드를 삭제했습니다. 요청한 작업에 현재 레코드가 필요합니다."

라는 에러가 뜹니다.



왜 이런 에러가 나오는지 고수님들의 조언부탁드립니다.









7  COMMENTS
  • Profile
    유재우 2001.01.14 02:03
    정대연 wrote:

    > 델파이 5 로 ADO를 이용해서 M$-SQL 관련 프로그램을 하고 있습니다.

    > 얼마전 M$-SQL 을 7.0에서 2000으로 버젼업을 했는데.

    >

    > 스토워드를 사용하거나 기존 조회는 아무런 문제가 없는데,

    > Eof 를 하게 되면 에러가 납니다.

    > 다음은 구문입니다.

    >

    > with AdoQuery do begin

    > Close;

    > SQL.Clear;

    > SQL.Add(' select AgentCode from Tbl_Agent ');

    > Open;

    > while not Eof do begin

    > ComboBox1.Items.Add(Fields[0].AsString);

    > Next;

    > end;

    > end;

    >

    > 위와 같이 실행을 하면 7.0에서는 아무런 문제가 없었는데. SQL-2000서버 환경에서는

    >

    > "BOF 또는 EOF가 참이거나, 현재 레코드를 삭제했습니다. 요청한 작업에 현재 레코드가 필요합니다."

    > 라는 에러가 뜹니다.

    >

    > 왜 이런 에러가 나오는지 고수님들의 조언부탁드립니다.

    >

    >

    >

    >

  • Profile
    양용민 2001.01.12 01:37
    혹시 ADO 2.6을 사용하시는지?



    맞다면 델파이 ADO 컴포넌트를 패치해 보세요.



    자세한 것은 한국 델파이 연합 홈페이지에서 다운로드 받으세요.



    PS.)

    ADO 처리 속도가 빠른지 알고 싶네요? 저는 ADO와 MS-SQL로 프로그램 하다가



    너무 느린 처리 속도 때문에 ADO에서 BDE로 전환한 상태입니다. ADO에서 처리 속도를



    어떻게 개선하셨는지 알고 싶습니다. 방법이 있으면 답변 좀 부탁 할께요.

  • Profile
    정대연 2001.01.12 02:00
    양용민 wrote:

    > 혹시 ADO 2.6을 사용하시는지?

    >

    > 맞다면 델파이 ADO 컴포넌트를 패치해 보세요.

    >

    > 자세한 것은 한국 델파이 연합 홈페이지에서 다운로드 받으세요.

    >

    > PS.)

    > ADO 처리 속도가 빠른지 알고 싶네요? 저는 ADO와 MS-SQL로 프로그램 하다가

    >

    > 너무 느린 처리 속도 때문에 ADO에서 BDE로 전환한 상태입니다. ADO에서 처리 속도를

    >

    > 어떻게 개선하셨는지 알고 싶습니다. 방법이 있으면 답변 좀 부탁 할께요.



    먼저 답변에 감사드립니다.

    참고로 저의 개발환경을 말씀드리자면,

    windows 2000 / M$-SQL 2000 / delphi 5 (물론 패치는 되어있습니다.)



    그리고 전 ADO 처리속도에 대해서 그리 많은 영향을 받지 않고 있습니다.

    BDE와 별 차이도 나지 않고 있고요.

    ODBC로 연결하지 않고 바로 SQL 서버에 연결해서 프로그램을 하고 있고,

    될수 있는한 스토워드 프로시져로 프로그램을 하고 있습니다. 그래서인지 BDE로 작업하는 것과 그다지 속도차이가 나지 않습니다. (제 생각만 그러나??)



    전 현재 이 상황이 해결되지 않으면 다시 BDE로 프로그램을 해야 할것 같네요.

    ADO - M$-SQL 의 가장 큰 장점은 배포하기가 BDE보다는 좀더 용이한점이 있더군요.

    물론 일반 Install 버젼으로 배포할때는 큰 차이가 없지만, Web-Base로 작업을 하는 경우는 BDE보다는 좀더 쉽다고나 할까요? 물론 이것도 개인적인 차이겠지만요...



    어째뜬 답변에 깊은 감사를 드립니다.



  • Profile
    양용민 2001.01.12 06:28
    > 참고로 저의 개발환경을 말씀드리자면,

    > windows 2000 / M$-SQL 2000 / delphi 5 (물론 패치는 되어있습니다.)



    혹시 비공식적인 패치인지? 밑에 관련 자료 올립니다. 도움이 되었으면 하네요.



    http://www.borland.com/devsupport/delphi/mdac26.html



  • Profile
    정대연 2001.01.12 19:42
    먼저 용민님 정말 감사드립니다.

    아래의 업데이트를 했더니 해결이 되었습니다.



    하지만, 이 문제가 완전하게 해결된것 같지는 않군요.

    Eof로 작업을 하면 실재 레코드보다 한개가 더 많이 반환은 되지만, 이상하게 에러는 없이 돌아가는군요..



    어쨌든 정말 감사드립니다.





    양용민 wrote:

    > > 참고로 저의 개발환경을 말씀드리자면,

    > > windows 2000 / M$-SQL 2000 / delphi 5 (물론 패치는 되어있습니다.)

    >

    > 혹시 비공식적인 패치인지? 밑에 관련 자료 올립니다. 도움이 되었으면 하네요.

    >

    > http://www.borland.com/devsupport/delphi/mdac26.html

    >



  • Profile
    Mr. Ziker 2001.01.11 23:18
    테이블에 아무런 내용이 없는거 아닌지요...



    정대연 wrote:

    > 델파이 5 로 ADO를 이용해서 M$-SQL 관련 프로그램을 하고 있습니다.

    > 얼마전 M$-SQL 을 7.0에서 2000으로 버젼업을 했는데.

    >

    > 스토워드를 사용하거나 기존 조회는 아무런 문제가 없는데,

    > Eof 를 하게 되면 에러가 납니다.

    > 다음은 구문입니다.

    >

    > with AdoQuery do begin

    > Close;

    > SQL.Clear;

    > SQL.Add(' select AgentCode from Tbl_Agent ');

    > Open;

    > while not Eof do begin

    > ComboBox1.Items.Add(Fields[0].AsString);

    > Next;

    > end;

    > end;

    >

    > 위와 같이 실행을 하면 7.0에서는 아무런 문제가 없었는데. SQL-2000서버 환경에서는

    >

    > "BOF 또는 EOF가 참이거나, 현재 레코드를 삭제했습니다. 요청한 작업에 현재 레코드가 필요합니다."

    > 라는 에러가 뜹니다.

    >

    > 왜 이런 에러가 나오는지 고수님들의 조언부탁드립니다.

    >

    >

    >

    >

  • Profile
    정대연 2001.01.11 23:30
    제 질문에 관심을 갖아주셔서 감사드립니다.



    물론 테이블엔 정상적인 데이타가 들어 있습니다.

    이전 M$-SQL서버에서 아무런 문제 없이 사용하던 데이타입니다.

    ^^&



    Mr. Ziker wrote:

    > 테이블에 아무런 내용이 없는거 아닌지요...

    >

    > 정대연 wrote:

    > > 델파이 5 로 ADO를 이용해서 M$-SQL 관련 프로그램을 하고 있습니다.

    > > 얼마전 M$-SQL 을 7.0에서 2000으로 버젼업을 했는데.

    > >

    > > 스토워드를 사용하거나 기존 조회는 아무런 문제가 없는데,

    > > Eof 를 하게 되면 에러가 납니다.

    > > 다음은 구문입니다.

    > >

    > > with AdoQuery do begin

    > > Close;

    > > SQL.Clear;

    > > SQL.Add(' select AgentCode from Tbl_Agent ');

    > > Open;

    > > while not Eof do begin

    > > ComboBox1.Items.Add(Fields[0].AsString);

    > > Next;

    > > end;

    > > end;

    > >

    > > 위와 같이 실행을 하면 7.0에서는 아무런 문제가 없었는데. SQL-2000서버 환경에서는

    > >

    > > "BOF 또는 EOF가 참이거나, 현재 레코드를 삭제했습니다. 요청한 작업에 현재 레코드가 필요합니다."

    > > 라는 에러가 뜹니다.

    > >

    > > 왜 이런 에러가 나오는지 고수님들의 조언부탁드립니다.

    > >

    > >

    > >

    > >

    • 이성훈
      2001.01.12 02:00
      제가 보기에는 함수를 잘못 쓰시건 같은디 StrToInt함수를 쓰세요... 참고로 StrToIntDef함수의 사용법...
    • xdelphi
      2001.01.12 01:53
      델파이 초보.. wrote: > 전 델파이 초본데...이게 잘 안되네여...db에 연결해서 insert 하려구 했는데... ...
    • 델파이 초보..
      2001.01.12 02:03
      xdelphi wrote: > 델파이 초보.. wrote: > > 전 델파이 초본데...이게 잘 안되네여...db에 연결해서 inse...
    • 성더기
      2001.01.12 23:41
      확인해 보셈..
    • 김유승
      2001.01.12 02:24
      델파이 초보.. wrote: > xdelphi wrote: > > 델파이 초보.. wrote: > > > 전 델파이 초본데...이게 잘 ...
    • 김유승
      2001.01.12 01:50
      이기코알라 wrote: > 고수님들 안녕하세요.. 건강들 하시죠.. > 간단한 문제인 것 같은데 잘 몰라 고수님...
    • 김현우
    • 2001.01.12 01:22
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 화랑
      2001.01.16 05:47
      DHTMLEdit... 저도 조금밖에서 써질 않아서 잘 모르는데요.. 엄청 기능이 많던데요.. 잘하면.. ...
    • xdelphi
      2001.01.12 01:13
      델피언 wrote: > 체크박스가 10개가 있으면 버튼을 눌렀을때 체크되어있는것이 몇개인지 > 알수있는방법...
    • 과객
    • 2001.01.12 00:30
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 정성훈
      2001.01.12 02:09
      과객 wrote: > 컴포넌트를 정상적으로 잘 등록했습니다. > 그런데 문제는 등록된 컴포넌트가 아무런 이미...
    • 병부잡이
      2001.01.12 03:51
      배열 형태로 생성할땐 이렇게 하심 됩니다 var AryImage : Array [1..10] Of TImage; 요렇게 하심 1...
    • xdelphi
      2001.01.12 00:05
      eewook wrote: > 응용프로그램실행시 파라메터전달방법은 어케하나요? > 예를들면 델파이에서 특정 텍스...
    • eewook
      2001.01.12 00:18
      xdelphi wrote: > eewook wrote: > > 응용프로그램실행시 파라메터전달방법은 어케하나요? > > 예를들면...
    • xdelphi
      2001.01.12 00:23
      eewook wrote: > xdelphi wrote: > > eewook wrote: > > > 응용프로그램실행시 파라메터전달방법은 어케...
    • eewook
      2001.01.12 00:33
      xdelphi wrote: > eewook wrote: > > xdelphi wrote: > > > eewook wrote: > > > > 응용프로그램실행시...
    • 정대연
    • 2001.01.11 23:02
    • 7 COMMENTS
    • /
    • 0 LIKES
    • 유재우
      2001.01.14 02:03
      정대연 wrote: > 델파이 5 로 ADO를 이용해서 M$-SQL 관련 프로그램을 하고 있습니다. > 얼마전 M$-SQL ...
    • 양용민
      2001.01.12 01:37
      혹시 ADO 2.6을 사용하시는지? 맞다면 델파이 ADO 컴포넌트를 패치해 보세요. 자세한 것은 한국 델...
    • 정대연
      2001.01.12 02:00
      양용민 wrote: > 혹시 ADO 2.6을 사용하시는지? > > 맞다면 델파이 ADO 컴포넌트를 패치해 보세요. >...
    • 양용민
      2001.01.12 06:28
      > 참고로 저의 개발환경을 말씀드리자면, > windows 2000 / M$-SQL 2000 / delphi 5 (물론 패치는 되어있...
    • 정대연
      2001.01.12 19:42
      먼저 용민님 정말 감사드립니다. 아래의 업데이트를 했더니 해결이 되었습니다. 하지만, 이 문제가 완...
    • Mr. Ziker
      2001.01.11 23:18
      테이블에 아무런 내용이 없는거 아닌지요... 정대연 wrote: > 델파이 5 로 ADO를 이용해서 M$-SQL 관...
    • 정대연
      2001.01.11 23:30
      제 질문에 관심을 갖아주셔서 감사드립니다. 물론 테이블엔 정상적인 데이타가 들어 있습니다. 이전 M$...
    • 조덕진
      2001.01.12 02:54
      강의식 wrote: > 델파이를 사랑하는 모든 분들께... > > StringGrid를 사용해서 값을 입력받고 표기하...
    • Umpro
      2001.01.12 00:41
      초델 wrote: > 리포트화일을 실행시키면 floating point division by zero라는 에러메시지가 뜹니다... >...
    • 초델
      2001.01.12 02:21
      Umpro wrote: > 초델 wrote: > > 리포트화일을 실행시키면 floating point division by zero라는 에러메...
    • Umpro
      2001.01.12 19:34
      > > 아마 나누려는 값이 0 일것입니다. > > 이렇게 해보세요 > > if aaa 0 then > > bbb := aaa/c...
    • 칠라기
    • 2001.01.11 22:32
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 지영일
      2001.01.11 22:57
      칠라기 wrote: > 폼 위치를 해상도에 상관없이 제어 하고 싶은데요.. > 폼의 좌표를 어떻게 지정하는건지...
    • sonic0
    • 2001.01.11 21:16
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 국어사랑
      2001.04.19 23:01
      니가 한말 한줄도 제대로 쓴말 없다. 그러니 당연 ActiveX모르지... sonic0 wrote: > 음.......열라...
    • Mr. Ziker
      2001.01.11 23:38
      안녕하세요.. ActiveX라 함은 말 그대로 X를 '미지수'라는 뜻으로 이해 하시면 됩니다. 즉 활동을 하기...
    • 권혁주
    • 2001.01.11 20:44
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 전철호
      2001.01.11 20:49
      권혁주 wrote: > 한가지 궁금한것이 있어 이렇게 글을 드립니다. > TWebBrowser 컴포넌트를 쓰려고 하는...
    • 이문환
    • 2001.01.11 19:21
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 냉혈이
      2001.01.11 19:49
      마스크에디터의 오브젝트 인스펙트부분에서여 TabStop이 False인지 아님 True인지 확인해보세여 False인...
    • hnc
    • 2001.01.11 19:11
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 이원택
    • 2001.01.11 19:07
    • 3 COMMENTS
    • /
    • 0 LIKES
    • xdelphi
      2001.01.11 20:41
      이원택 wrote: > delphi 3.0을 다시 설치하였는데 F9를 누른후 BreakPoint에 가면 제가 원하는 변수앞에 ...
    • cico
      2001.01.11 21:15
      검 델파이5에선 어케해야 하남여/ 좀 알려주세요 이만 총총총 xdelphi wrote: > 이원택 wrote: ...
    • xdelphi
      2001.01.11 22:15
      cico wrote: > 검 델파이5에선 어케해야 하남여/ > > 좀 알려주세요 > > 이만 총총총 > > xdelph...