Q&A

  • EDBEngine Error with Message invalid Parameter
산넘어 산이라고...하나 해결하면 다른 문제가 생기네요..

이것때문에 오늘 하루종일 보냈습니다..
우선 정확한 에러 위치를 찾는데 반나절걸렸구요...해결책 찾다가 결국
도움을 청하게 되었습니다..

고수님들 함 봐주시기 바랍니다..

현상은 두개의 테이블을 비교해서 나온 결과값들을 프린트 해주는것인데요..
잘 되다가..특정 레코드 위치에서 invalid Parameter에러가 발생 합니다.

몇번이고 위치를 확인했습니다...
도통 원인을 모르겠습니다..

Dbase고 string 속성 입니다..
값은 1628인데...에러가 발생을 합니다....

도무지 모르겠습니다..에러의 정확한 위치를 찾는것도 반 해결인데..
나머지 반은 ㅜ.ㅜ

총 레코드의 갯수는 약 86개 정도 되구요...
1628은 한 79번째 정도 있습니다..고로 79째 까지는 에러 없이 잘 됩니다..
모두 레코드들은 잘 들어가 있구요 물론 저놈과 비슷한 4자릿수도 있습니다.

소스 올리겠습니다.


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


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

for j := 0 to qry.RecordCount -1 do
   begin


     FileName := '';
     FileName := Edit1.text + '_' +qry.FieldValues['pmi_mesh'];
     //ShowMessage(FileName);
     memo1.Lines.Append(qry.FieldValues['pmi_mesh'] +'신규비교시작');

        qryTemp.SQL.Clear;
        qryTemp.close;
        qryTemp.DatabaseName:= 'MyNewAlias2';

        qryTemp.SQL.Add('select pmi_mesh, st_nd_id, ed_nd_id, tlinkidp1, tlinkidn1, ');
        qryTemp.SQL.Add('st_dir, ed_dir, road_cate, link_cate, link_facil, road_no, ');
        qryTemp.SQL.Add('width, oneway, lane, speedlh, road_name, regioncd, tollLink');
        qryTemp.SQL.Add('from  ' + trim(Edit2.Text));
        qryTemp.SQL.Add('where pmi_mesh = ''' + qry.FieldByName('pmi_mesh').AsString + ''' ');
        qryTemp.open;

        DataSource1.DataSet := qryTemp;
        DBGrid1.DataSource:= DataSource1;

        //구테이블 루프

for i := 0 to qryTemp.RecordCount -1  do
begin

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


   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 ' + edit1.Text);
   //q.SQL.Add (' where   pmi_mesh = ''' + qryTemp.FieldByName('pmi_mesh').AsString +''' ');
   q.SQL.Add (' where st_nd_id = ''' + qryTemp.FieldByName('st_nd_id').AsString +''' ');
   q.SQL.Add (' and   ed_nd_id = ''' + qryTemp.FieldByName('ed_nd_id').AsString +''' ');
   q.Active := true;
   q.open;

   if q.eof  then //===없다면 (신규)
           begin
           Query2 := TQuery.Create( Self );
           Query3 := TQuery.Create( Self );

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

           Query2.SQL.Add('select st_nd_id from '+ Edit1.Text);
           Query2.SQL.Add('where st_nd_id = ''' + qryTemp.FieldByName('st_nd_id').AsString + ''' ');
           Query2.Open;
           Query2.FetchAll;

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

           Query3.SQL.Add('select ed_nd_id from '+ Edit1.Text);
           Query3.SQL.Add('where ed_nd_id = ''' + qryTemp.FieldByName('ed_nd_id').AsString + ''' ');
                                                                     여기에 값은 들어갑니다.            
           Query3.Open;//==========>에러 뜨는 부분 입니다..
          
           Query3.FetchAll;

           if (Query2.RecordCount > 0) and (Query3.RecordCount > 0) then
               begin
                mmTextFile1.Lines.Append(qryTemp.FieldByName('pmi_mesh').AsString +' - ' +qryTemp.FieldByName('st_nd_id').AsString + ' ' + qryTemp.FieldByName('ed_nd_id').AsString + ',' + '병합 link' );
               end
           else if (Query2.RecordCount > 0) or (Query3.RecordCount > 0) then
               begin
                mmTextFile1.Lines.Append(qryTemp.FieldByName('pmi_mesh').AsString +' - ' +qryTemp.FieldByName('st_nd_id').AsString + ' ' + qryTemp.FieldByName('ed_nd_id').AsString + ',' + '분할 link' );
               end
           else
                begin
               mmTextFile1.Lines.Append(qryTemp.FieldByName('pmi_mesh').AsString +' - ' +qryTemp.FieldByName('st_nd_id').AsString + ' ' + qryTemp.FieldByName('ed_nd_id').AsString + ',' + '신규 link' );
               end;

          end;
         qryTemp.next;

end;
      
    memo1.Lines.Append(qry.FieldValues['pmi_mesh'] +'신규비교완료');
        
  qry.Next;

end;
3  COMMENTS
  • Profile
    박준철 2004.09.11 17:47

    찾아 봤는데 쉽게 찾아지질 않네요
    Query3.Close;
    Query3.SQL.Clear;
    Query3.DatabaseName := 'MyNewAlias4';

    Query3.SQL.Add('select ed_nd_id from '+ Edit1.Text);
    Query3.SQL.Add('where ed_nd_id = :sText             ')
    ParamByName('sText').AsString :=
                qryTemp.FieldByName('ed_nd_id').AsString;
    위와 같이 코딩을 다른 방향으로 해보심이 어떨지




  • Profile
    일그니 2004.09.11 04:05
    음.
    일단 query2,3 생성후 프리해주는 부분이 안보이네요.

    루핑 도시면서 계속 생성만 해주면.. 좀 ..안좋아보이네여..

    일단

    for문 밖에서 생성을 해주시고.루핑 안에다는 close,open만 으로 해주심도



  • Profile
    김형균 2004.09.11 18:51
    답변 주신 두분께 감사 드립니다..
    해결이 된듯 합니다..
    쿼리를 임시로 생성을 안하고
    아예 콤퍼넌트를 두개를 넣어주고 하니까 되네요...
    저의 코딩의 미숙함으로 그런것 같습니다....

    답변 해주신두분께 다시 한번 감사 드립니다....

    • 김학초
    • 2004.09.15 06:05
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 석주현
      2004.09.15 08:48
      qrp 파일은 퀵리포트의 결과 파일이라 아마도 수정하기 힘들것 같습니다. 결국에 기존에 들어가 있는 데이...
    • 석주현
      2004.09.15 09:26
      내용무
    • 김학초
      2004.09.16 07:11
      음...EMF이건 또 제가 잘 몰라서...찾아보니까 Enhanced Windows Metafile 이런건가요? 암튼 그냥 내용만 ...
    • 이치영
    • 2004.09.14 23:43
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 누렁이
      2004.09.15 19:08
      바코드 프로그램은 라벨프린터의 종류에 따라 엄격히 소스가 달라집니다. 일반 프린터로 뽑는 것은 더욱 ...
    • cell
      2004.09.15 03:15
      바코드프로그램 소스는 자료실에서 몇개 올라와 있는거를 본거 같은데요. 참고서적은 책을 보시는 것...
    • 이승민
      2004.09.14 22:29
    • 메니아
      2004.09.15 00:31
    • 이승민
      2004.09.15 02:20
    • 메니아
      2004.09.15 02:44
    • 꿈의대화
      2004.09.15 18:44
    • 메니아
      2004.09.16 09:41
    • 최용일
      2004.09.17 19:04
    • 송 시중
    • 2004.09.14 01:33
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 문명현
    • 2004.09.13 22:41
    • 1 COMMENTS
    • /
    • 0 LIKES
    • cell
      2004.09.13 23:00
      델 6부터 varvariant형이  Variants에 포함되어 있어서 그런것 같은데요 Unit에 Variants 포...
    • 김춘경
    • 2004.09.13 18:05
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 장태원
      2004.09.13 18:53
      SAPLogin, 그리고, SAPFunction 만 깔아도 될듯 합니다.
    • 오병주
      2004.09.13 20:02
      음........ 어느회사인지 모르겠지만... 대략 저희회사랑 비슷 한 시스템을 가지고 운영하는듯 하네요 ...
    • 김춘경
      2004.09.14 01:41
      ^^ 관심 가져 주셔서 감사합니다. 근데, 임포트 페이지의 목록에 SAP Function 이 안나오는데요... ...
    • KDDG_BaSTaD
      2004.09.12 20:04
      ==> 안녕하세요 KDDG_BaSTaD 입니다. 인증이 실패하신다면... 로그를 먼저확인하셔야겠네요.. S...
    • 이상현
      2004.09.13 09:29
      답변 감사합니다. 계속 확인해 보겠습니다.
    • 최용일
      2004.09.15 04:45
      안녕하세요. 최용일입니다. 무엇을 원하는지는 잘 모르겠지만.... 마우스 커서에 이름은 없습니다. ...
    • 정환철
    • 2004.09.11 22:10
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 백록화
      2004.09.12 16:49
      yo` PageUp 은 VK_NEXT PageDown 은 VK_PRIOR 로 정의 되어 있네요 windows.pas 참조... 그럼..
    • 일그니
      2004.09.12 02:21
      KeyPress -Dos mode 상의 아스키값(알파벳, 숫자, 기호, 엔터, 탭, ESC등의 값)  char형 Key...
    • 진돌
    • 2004.09.11 09:49
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 김상완
    • 2004.09.11 04:16
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 황성욱
      2004.09.13 20:31
      AggregationActive 속성도 True하셨나여?
    • 김상완
      2004.09.14 23:09
      AggregationActive 속성이 문제였네요.. 답변 감사합니당..^^
    • 김형균
    • 2004.09.11 02:35
    • 3 COMMENTS
    • /
    • 1 LIKES
    • 박준철
      2004.09.11 17:47
      찾아 봤는데 쉽게 찾아지질 않네요 Query3.Close; Query3.SQL.Clear; Query3.DatabaseName := 'MyNewA...
    • 일그니
      2004.09.11 04:05
      음. 일단 query2,3 생성후 프리해주는 부분이 안보이네요. 루핑 도시면서 계속 생성만 해주면.. 좀 .....
    • 김형균
      2004.09.11 18:51
      답변 주신 두분께 감사 드립니다.. 해결이 된듯 합니다.. 쿼리를 임시로 생성을 안하고 아예 콤퍼넌트를...
    • 백록화
      2004.09.11 06:16
      yo` 인스톨쉴드 를 써본지가 오래돼서...^^;; MySQL ODBC 셋업프로그램도 설치과정에 넣을수 있을꺼...
    • 파멸의슬픔
      2004.09.11 02:27
      Database 컴포넌트 Properties에 보시면 Params 안에 USER NAME=XXXX PASSWORD=XXXX 넣어주세요... ...
    • 정경주
    • 2004.09.10 20:21
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 오병주
      2004.09.10 23:18
      델파이에서는 보통 상속(INHERIT)이라 함은 어떤 대형 프로젝트를 나눠서 개발할때 공통화 모듈로 상속(I...
    • 이승민
      2004.09.10 20:59
      여기 강의실에서 '상속' 이라고 검색하시면 참조할 자료가 나올듯합니다. 즐프~~~
    • 착한천사
      2004.09.12 00:05
      착한천사 김경록입니다.. 전 다른 query문을 제안하고자 합니다.. 일단, data를 뽑아내는 경우의수를 대...
    • 모영철
      2004.09.11 02:15
      킁 SQL2000 이군요 모르는 해본적이 없는 디비지만. 뭐 비슷할거라 가정하고 (다른디비는 잘모르거...
    • 누렁이
      2004.09.10 22:17
      언뜻 보기에는 쉬워보여도, 그렇지가 않네요.. 저도 내공이 부족해서 그런가??? 단일쿼리로는 풀리기...
    • 석주현
      2004.09.10 20:13
      음 혹시 Project Options 에서 Packages 탭에 Runtime pakages 에 빌드 위드 런 타임 팩키지를 체크한...
    • 김선아
      2004.09.10 20:28
      정말 고맙습니다.(눈물나요..이거땜에 철야까지 했는뎅!) 제가 초보라 그런걸 잘 몰라 무조껀 컴파일...
    • 일그니
      2004.09.10 21:17
      New30 이라고여... 흠.. 예전에 햇던.. 모방송국 시스템이 떠오르네여 ^^ 체크를 하시면... 아래 하단...
    • 박상윤
      2004.09.16 02:34
      스트림도 지원하기는 하지만 위의 코드처럼.. 바로 지원하기는 힘들것  같습니다. 소스 필...
    • 무수리
    • 2004.09.10 03:54
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 깔쌈보이
      2004.09.10 04:42
      SendMessage(Application.Handle, WM_SYSCOMMAND, SC_MONITORPOWER, 1); SendMessage(Application.Handle,...