Q&A

  • 살려주세요-Null 값이 있는 SQL문 사용 방법좀 알려주세요
더운 날씨에 고생들 많으십니다.

델파이를 시작하는 초보인데 혼자 고민하다 포기상태입니다. 고수님들의 조언을 부탁드립니다.

DB는 Paradox이고요 Table은 2개입니다. Table-A에 있는 키값(Gyenday) 중에 Null값이 있고, Table-B에도 Table-A의 Key List와 동일하게 Key값을 가지고 있습니다.

문제는요... Table-A를 가리키고 있을때 Table-B의 DBGrid에 내용이 나오도록 하려고 하는데 잘 안되네요. TABLE을 이용해서 MasterField를 연결해주면 잘되는데 Query를 사용해서 하려고 하거든요. 많은 조언을 부탁드립니다.



Close;

SQL.Clear;

SQL.ADD('Select Gyenyear, Gyenmonth, Gyenday, Gyenseq, ');

SQL.ADD('Gcorpname, Gonghap, Gvat, Gongtot, Ggubun ');

SQL.ADD('from "Gyenjukh.DB" ');

SQL.Add('where Gyenyear = :D1 and Gyenmonth = :D2 and ');

SQL.Add('Gyenday = :D3 and Gyenseq = :D4');

ParamByName('D1').AsString := Trim(WKGyenyear);

ParamByName('D2').AsString := Trim(WKGyenmonth);

ParamByName('D3').AsString := Trim(WKGyenday);

ParamByName('D4').AsString := Trim(WKGyenseq);



Select * from "Gyenjukd.DB" where

Gyendyear = :Gyenyear and Gyendmonth = :Gyenmonth and

Gyendday = :Gyenday and Gyendseq = :Gyenseq

Order By Gyendseqs





3  COMMENTS
  • Profile
    임형호 2000.07.30 08:29
    델파이촌놈 wrote:

    > 더운 날씨에 고생들 많으십니다.

    > 델파이를 시작하는 초보인데 혼자 고민하다 포기상태입니다. 고수님들의 조언을 부탁드립니다.

    > DB는 Paradox이고요 Table은 2개입니다. Table-A에 있는 키값(Gyenday) 중에 Null값이 있고, Table-B에도 Table-A의 Key List와 동일하게 Key값을 가지고 있습니다.

    > 문제는요... Table-A를 가리키고 있을때 Table-B의 DBGrid에 내용이 나오도록 하려고 하는데 잘 안되네요. TABLE을 이용해서 MasterField를 연결해주면 잘되는데 Query를 사용해서 하려고 하거든요. 많은 조언을 부탁드립니다.

    >

    > Close;

    > SQL.Clear;

    > SQL.ADD('Select Gyenyear, Gyenmonth, Gyenday, Gyenseq, ');

    > SQL.ADD('Gcorpname, Gonghap, Gvat, Gongtot, Ggubun ');

    > SQL.ADD('from "Gyenjukh.DB" ');

    > SQL.Add('where Gyenyear = :D1 and Gyenmonth = :D2 and ');

    > SQL.Add('Gyenday = :D3 and Gyenseq = :D4');

    > ParamByName('D1').AsString := Trim(WKGyenyear);

    > ParamByName('D2').AsString := Trim(WKGyenmonth);

    > ParamByName('D3').AsString := Trim(WKGyenday);

    > ParamByName('D4').AsString := Trim(WKGyenseq);

    >

    > Select * from "Gyenjukd.DB" where

    > Gyendyear = :Gyenyear and Gyendmonth = :Gyenmonth and

    > Gyendday = :Gyenday and Gyendseq = :Gyenseq

    > Order By Gyendseqs

    >

    >



    위에서 말씀하신내용을 보니까... table컴포넌트를 사용하여 master/detail 관계를 연결하면 잘 되는데 query를 사용하는경우 위와같은 SQL문을 사용하셨다는거죠?

    query를 가지고도 코딩없이 table의 master/detail관계를 설정할 수 있습니다. 전에 저도 datasource컴포넌트의 datachange이벤트에다 sql문 코딩으로 했던적이 있었는데요. 그럴경우 화면이 처음 실행될때 에러가 발생하기 때문에 그것에 대한 처리까지 해주어야했거든요. 그리고 formshow이벤트에서 위와같은 문장을 실행시켜주어야만 프로그램이 실행시에 master/detail관계가 나타나는 문제점이 있더라구요.

    그런데 어느책에서 보니까...query로 master/detail을 설정하는것을 보았는데.....

    작업실이 아니라서 테스트는 못하는 관계로 자세한 설명을 드릴수는 없지만요. 전에 분명히 구현했었다는걸 말씀드립니다. 음.... query의 datasource라는 속성이 있을겁니다.

    그것이 master/detail을 설정하는 속성입니다. 아마도 Q&A란을 검색해보시면 나올겁니다.

    만약 못 찾으시면 글 남겨주세요. 그럼 제가 내일 구현부분을 알려드리겠습니다. 그럼..

  • Profile
    델파이촌놈 2000.07.31 01:16
    >

    > 위에서 말씀하신내용을 보니까... table컴포넌트를 사용하여 master/detail 관계를 연결하면 잘 되는데 query를 사용하는경우 위와같은 SQL문을 사용하셨다는거죠?

    > query를 가지고도 코딩없이 table의 master/detail관계를 설정할 수 있습니다. 전에 저도 datasource컴포넌트의 datachange이벤트에다 sql문 코딩으로 했던적이 있었는데요. 그럴경우 화면이 처음 실행될때 에러가 발생하기 때문에 그것에 대한 처리까지 해주어야했거든요. 그리고 formshow이벤트에서 위와같은 문장을 실행시켜주어야만 프로그램이 실행시에 master/detail관계가 나타나는 문제점이 있더라구요.

    > 그런데 어느책에서 보니까...query로 master/detail을 설정하는것을 보았는데.....

    > 작업실이 아니라서 테스트는 못하는 관계로 자세한 설명을 드릴수는 없지만요. 전에 분명히 구현했었다는걸 말씀드립니다. 음.... query의 datasource라는 속성이 있을겁니다.

    > 그것이 master/detail을 설정하는 속성입니다. 아마도 Q&A란을 검색해보시면 나올겁니다.

    > 만약 못 찾으시면 글 남겨주세요. 그럼 제가 내일 구현부분을 알려드리겠습니다. 그럼..



    임형호님 답변 감사합니다.

    저도 Detail부분의 DataSource에 Master의 Datasource를 연결해줬거든요.

    헌데 마찬가지였어요. 그리고 다른 폼을 열어서 Database Form Wizard를 가지고 해봤는데

    이것도 TTable object를 이용하면 되는데 TQuery object를 이용하면 null값을 가진 master의

    자료만 datail 부분의 자료가 나오지를 않더라구요.

    다시한번 부탁드려요.... 더운날씨에도 답변 주셔서 다시한번 감사합니다.





  • Profile
    델파이촌놈 2000.07.31 01:16
    >

    > 위에서 말씀하신내용을 보니까... table컴포넌트를 사용하여 master/detail 관계를 연결하면 잘 되는데 query를 사용하는경우 위와같은 SQL문을 사용하셨다는거죠?

    > query를 가지고도 코딩없이 table의 master/detail관계를 설정할 수 있습니다. 전에 저도 datasource컴포넌트의 datachange이벤트에다 sql문 코딩으로 했던적이 있었는데요. 그럴경우 화면이 처음 실행될때 에러가 발생하기 때문에 그것에 대한 처리까지 해주어야했거든요. 그리고 formshow이벤트에서 위와같은 문장을 실행시켜주어야만 프로그램이 실행시에 master/detail관계가 나타나는 문제점이 있더라구요.

    > 그런데 어느책에서 보니까...query로 master/detail을 설정하는것을 보았는데.....

    > 작업실이 아니라서 테스트는 못하는 관계로 자세한 설명을 드릴수는 없지만요. 전에 분명히 구현했었다는걸 말씀드립니다. 음.... query의 datasource라는 속성이 있을겁니다.

    > 그것이 master/detail을 설정하는 속성입니다. 아마도 Q&A란을 검색해보시면 나올겁니다.

    > 만약 못 찾으시면 글 남겨주세요. 그럼 제가 내일 구현부분을 알려드리겠습니다. 그럼..



    임형호님 답변 감사합니다.

    저도 Detail부분의 DataSource에 Master의 Datasource를 연결해줬거든요.

    헌데 마찬가지였어요. 그리고 다른 폼을 열어서 Database Form Wizard를 가지고 해봤는데

    이것도 TTable object를 이용하면 되는데 TQuery object를 이용하면 null값을 가진 master의

    자료만 datail 부분의 자료가 나오지를 않더라구요.

    다시한번 부탁드려요.... 더운날씨에도 답변 주셔서 다시한번 감사합니다.