Q&A

  • 에러 잡기..ENoResultSet with Message Error creating Cursor handle
한개의 원본 DB가 있고 그 DB의 특정 필드를 기준으로 테이블을 새로 생성 했습니다.

그리고, 원본 DB의 레코드를 새로 나누어진 DB에 루프를 돌리며 insert 하는 부분 입니다.
그런데 에러가 나서 더 이상 나가질 못하는군요..

ENoResultSet with Message Error creating Cursor handle
이러한 에러 메세지가 나오는데 감이 안잡히네요..

조언 부탁 드리겠습니다...
그럼 즐프들 하시구요~~

======소스 부분 입니다...=============

qry.SQL.Add('select DISTINCT pmi_mesh from ' + trim(Edit1.Text));
        qry.Active := true;
        qry.Open;






for j := 0 to qry.RecordCount -1 do
   begin
        Showmessage (qry.FieldValues['pmi_mesh']);

        FileName := '';
        FileName := Edit2.text + '_' +qry.FieldValues['pmi_mesh'];

        q.close;
        q.sql.clear;
        q.DatabaseName:= 'MyNewAlias2';





        q.SQL.Add (' select pmi_mesh,st_nd_id,ed_nd_id,tlinkidp1,tlinkidn1,st_dir,ed_dir, ');
        q.SQL.Add (' road_cate,link_cate,link_facil,road_no,width,oneway,lane,speedlh,road_name, ');
        q.SQL.Add (' regioncd,tollLink ');
        q.SQL.Add (' from ' + Edit2.Text);
        q.SQL.Add (' where   pmi_mesh = ''' + qry.FieldValues['pmi_mesh']+''' ');
        //q.SQL.Add (' where   st_nd_id = ''' + qryTemp.FieldValues['st_nd_id']+''' ');
        //q.SQL.Add (' and   ed_nd_id = ''' + qryTemp.FieldValues['ed_nd_id']+''' ');
        q.Active := true;
        q.open;

        
  for h := 0 to q.RecordCount -1 do
  begin
        Showmessage (q.FieldValues['pmi_mesh'] + ','+q.FieldValues['st_nd_id']);

        qdiv.Close;
        qdiv.SQL.Clear;
        qdiv.DatabaseName := 'MyNewAlias4';

        qdiv.SQL.Add('insert into' + ' ' +FileName);
        qdiv.SQL.Add('(pmi_mesh,st_nd_id,ed_nd_id,tlinkidp1,tlinkidn1,st_dir,ed_dir,');
        qdiv.SQL.Add('road_cate,link_cate,link_facil,road_no,width,oneway,lane,speedlh,road_name,');
        qdiv.SQL.Add('regioncd,tollLink)');
        qdiv.SQL.Add('VALUES');
        qdiv.SQL.Add('('+ '''' + q.FieldByName('pmi_mesh').AsString + '''' + ',' + '''' + q.FieldByName('st_nd_id').AsString + '''' +',' + '''' + q.FieldByName('ed_nd_id').AsString + '''' + ',' );
        qdiv.SQL.Add(''+ '''' + q.FieldByName('tlinkidp1').AsString + '''' +',' + '''' + q.FieldByName('tlinkidn1').AsString + '''' + ',' + '''' + q.FieldByName('st_dir').AsString + '''' + ',' );
        qdiv.SQL.Add(''+ '''' + q.FieldByName('ed_dir').AsString +'''' + ',' +'''' +  q.FieldByName('road_cate').AsString +'''' + ',' +'''' + q.FieldByName('link_cate').AsString +'''' +',' );
        qdiv.SQL.Add(''+ '''' + q.FieldByName('link_facil').AsString +'''' + ',' +'''' +  q.FieldByName('road_no').AsString +'''' + ',' +'''' + q.FieldByName('width').AsString +'''' +',' );
        qdiv.SQL.Add(''+ '''' + q.FieldByName('oneway').AsString +'''' + ',' + '''' + q.FieldByName('lane').AsString +'''' +  ',' + '''' + q.FieldByName('speedlh').AsString +'''' + ',' );
        qdiv.SQL.Add(''+ '''' + q.FieldByName('road_name').AsString +'''' + ',' +'''' + q.FieldByName('regioncd').AsString +'''' + ',' + '''' +q.FieldByName('tollLink').AsString + '''' + ')');
        try
               qdiv.Active := true;
               qdiv.Open;  //====================>>요부분에서 에러가 납니다.ㅜ.ㅜ
        except
               qdiv.Close;
               qdiv.Free;
               Exit;
        end;
   q.Next;
  end;
qry.Next;
end;

end;
1  COMMENTS
  • Profile
    이중철 2004.09.03 02:15
    음 Open이라고 되어 있네요
    이건 보통 데이터셋 으로 Select할때 쓰는 방법이고
    Insert, delete또는 update는 Execute를 쓰죠
    데이타셋도 아니고요..

    • 장태원
    • 2004.09.03 23:29
    • 1 COMMENTS
    • /
    • 0 LIKES
    • KDDG_Apine
      2004.09.04 02:08
      안녕하세요  ^^; 돈이입니다... 메일에서 HTML를 첨부로 보낼때 어떻게 하냐를 물어보시는거...
    • 김용렬
    • 2004.09.03 21:31
    • 4 COMMENTS
    • /
    • 0 LIKES
    • mrdelphi
      2004.09.04 19:49
      허접 답변하나 드리겠습니다. 오라클 안쓰본지 너무 오래되서 기억이 가물가물하네요 혹시 특정프로...
    • 황성욱
      2004.09.03 22:29
      트랜잭션을 써서 하면 되지 않을까 싶네요. StartTransaction, Commit, Rollback을  사용하면...
    • 김용렬
      2004.09.04 02:51
         이 애기는 다른데서도 들었는데요...    정확히 이해를 못하겠어요.... Help&...
    • 황성욱
      2004.09.04 22:25
      음 테스트 함 해보셔여. db.startTransaction; try    인서트문 1(테이블 명 : tb_sample...
    • 강인규
      2004.09.03 23:12
      쓰시는 버퍼뒤에 #13#10 두바이트를 추가해주시면 될것 같네요. Writeln함수도 거의 비슷한 원리군요. ...
    • 도룡뇽
    • 2004.09.03 19:37
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 비니
    • 2004.09.03 19:36
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 서기원
      2004.09.03 22:42
      http://www.madchick.com/Default.asp?Page=2&SubPage=8&3thPage=2 을 참조하세요..
    • 비니
      2004.09.06 21:01
      tlb에서 property를 추가하고 (aaa라는 이름으로 추가했다면) function Get_aaa: WideString; begin &...
    • 김우영
    • 2004.09.03 19:35
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 박성준
      2004.09.04 05:36
      안녕하세요? 박성준입니다. License를 얻으셔야하는것아닌가요? 델파이의 License가 끝났다라는건가요? L...
    • 김우영
      2004.09.04 09:41
      컴포넌트 만들때 License 얻으라는 메세지가 안나오던데... License 때문인지 컴포넌트를 만들어서 ...
    • 박성준
      2004.09.04 10:49
      안녕하세요? 박성준입니다. 제생각입니다만... 컴포넌트도 델파이에 종속해있는것이므로 License를 얻어...
    • 한상훈
    • 2004.09.03 12:07
    • 5 COMMENTS
    • /
    • 0 LIKES
    • 착한천사
      2004.09.04 02:28
      착한천사 김경록입니다.. TreeNode를 사용하신다니.. 그 용도에 따라서, 어떤 불이익이나 이익을 따지...
    • 한상훈
      2004.09.04 10:44
      제 질문의 경우는 한번에 전체트리를 모두 처리할 경우입니다. 개인적으로 갈등하는 부분은 재귀호출...
    • 이중철
      2004.09.03 20:57
      재귀함수의 큰 장점은 코드가 적어지고 직관적으로 알수 있다는 것이고 단점은 For문 보다 속도가 늦다는 ...
    • 홍성락
      2004.09.03 18:46
      hsr////////////////////////////////////////////////////////////// 재귀호출는 자신(함수)을 직/간접...
    • 모영철
      2004.09.03 18:38
      제가 트리뷰를 잘몰라서 그런데.. 두가지 예는 다른 코딩 아닌가 싶은데요.. 적으신 재귀호출의 예는...
    • 정수지
    • 2004.09.03 01:27
    • 3 COMMENTS
    • /
    • 0 LIKES
    • nilriri™
      2004.09.03 05:59
      Ctrl + F12를 눌러서. .dpr   (프로젝트 파일)을 열어서.. Application.Run;  이...
    • 남양원
      2004.09.03 02:00
      Project Option 부분에서 Forms탭에서 Auto-create Forms에서 메인폼만 남기시고 다른 폼들을 Availabl...
    • 장덕곤
      2004.09.03 05:17
      그리고 제일먼저생성하시고자하는폼을 제일 위로 이동하시믄 됩니다... PS 수지님 간만입니다.ㅋㅋ
    • JW Park
    • 2004.09.02 22:59
    • 3 COMMENTS
    • /
    • 0 LIKES
    • mrdelphi
      2004.09.04 20:06
      프로그래밍기술을 처음해보시는분이라면 다른분들 말씀대로 서점에서 아~~ 쉽구나하는 느낌을 받는 책으...
    • 주정호
      2004.09.03 17:18
      다른 분들이 추천하는 델파이 책을 참조하시고, 더불어 다음과 같은 전산관련 전공서적을 필독하시는게 좋...
    • 석주현
      2004.09.03 01:33
      처음 시작하신다면 서점에 가셔서 자신이 봤을때 아 이렇구나 하는 감이 빨리 오는 책이 좋다고 생각합...
    • 김영대
      2004.09.03 01:21
      제 홈페이지( http://www.howto.pe.kr )에 예제가 있습니다 Delphi Tip & Trick 에서 "실행시 component...
    • 스머프
    • 2004.09.02 18:47
    • 2 COMMENTS
    • /
    • 0 LIKES
    • nilriri™
      2004.09.03 06:16
      이 정도면 원하는 결과가 충분히 나올수 있을것 같습니다. 우선 panel을 한 놓으시고.. 리치 에디터를 ...
    • 김영대
      2004.09.03 01:05
      // UNDO 버퍼를 이용해서 트릭을 써봤습니다 // 하지만 undo 버퍼를 사용하므로 사용자가 Ctrl+Z 를 누르...
    • 김재훈
    • 2004.09.02 12:57
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 김형균
    • 2004.09.02 03:43
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 황성욱
      2004.09.03 22:39
      ^^ 초보 답변 들어갑니다. INSERT    INTO     테이블명 [컬...
    • 펭귄
      2004.09.02 04:04
      저도 초보지만 insert 할 때 insert할 필드명을 values 앞에 명기하여 나열할 경우에는 나열한 순서대로 ...
    • 김길남
    • 2004.09.02 02:22
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 박운선
    • 2004.09.02 02:21
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 박운선
      2004.09.02 23:23
      ip works 라는 프로그램에 snmpv2까지지원하더군요... v5는 v6은 snmp v3까지 지원하는것 같구요.. 어렵...
    • 김형균
    • 2004.09.02 02:03
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이중철
      2004.09.03 02:15
      음 Open이라고 되어 있네요 이건 보통 데이터셋 으로 Select할때 쓰는 방법이고 Insert, delete또는 upda...
    • 뮤젤
    • 2004.09.01 21:42
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 박상기
      2004.09.03 10:54
      쓰고 계시는 JVCL의 버젼이 어떻게 되는지 먼저 얘기하시기 바랍니다.
    • 뮤젤
      2004.09.04 01:04
      관심을 보여주셔서 정말 감사합니다. 버전은 2.1 패치 버전입니다.
    • 김동민
    • 2004.09.01 20:49
    • 0 COMMENTS
    • /
    • 0 LIKES