Q&A

  • DBGrid 의 선택된 필드 값 알아 오기
안녕하세요? 서울의 목동입니다..

한가지 궁금한 것이 있어서 지난 게시물을 찾아 보고 있는데 라인 속도가 너무 느려서 1시간 동안 찾는데 적당한 답이 안나오네요..

제가 궁금한것은 dbGrid 의 일정한 필드의 값을 알아 오는 것입니다.



procedure AAA

begin

with query1 do

close;

clear;

add(' update io_schedule set stat ="1" ');

Add(' where in_date = :indate '); // 지정된 날

fieldbyname('in_date').AsString := //===> 요기 이 부분

execsql;

end;

end;

위에서 sql update 문에서 param 값으로 in_date 라는 값이 필요 하거든요. 그런데 dbgrid 의 선택된 필드의 선택된 값(text)을 받아 올때 받지를 못해서 update 가 안되네요..

fieldbyname('in_date').asstring := dbgrid1.Fields[0].Text;

==> dbgrid 에서 in_date가 dbgrid 의 첫번째 컬럼에 뿌려 집니다.

로 받아도 access violation 에러가 나오고 이걸 피하기 위해 try except 로 넘어 가면 역시 값이 안 받아 지네요..

dbgrid의 선택된 필드의 text 값을 받아 오려면 다른 문법을 써야 하나요? 고언을 바랍니다

2  COMMENTS
  • Profile
    자유지역 2001.10.05 10:06
    요구하시는게 이것인지 모르겠군여..



    DBGrid1.Fields[0].AsString; //DBGrid의 선택된 첫번째 필드 값입니다.

    DBGrid1.Fields[1].AsString; //DBGrid의 선택된 두번째 필드 값입니다.



    이런식으로 사용하면 가능 합니다..



    아참 그리고, 제가 아직 초보라서..정확히는 잘 모르겠지만

    fieldbyname('in_date').AsString 이 아니라

    ParamByName('in_date').AsString라고 쓰는게 맞는거 같은데 한번 확인 해 보세염...



    그럼 수고하세염..









    목동 wrote:

    > 안녕하세요? 서울의 목동입니다..

    > 한가지 궁금한 것이 있어서 지난 게시물을 찾아 보고 있는데 라인 속도가 너무 느려서 1시간 동안 찾는데 적당한 답이 안나오네요..

    > 제가 궁금한것은 dbGrid 의 일정한 필드의 값을 알아 오는 것입니다.

    > 즉

    > procedure AAA

    > begin

    > with query1 do

    > close;

    > clear;

    > add(' update io_schedule set stat ="1" ');

    > Add(' where in_date = :indate '); // 지정된 날

    > fieldbyname('in_date').AsString := //===> 요기 이 부분

    > execsql;

    > end;

    > end;

    > 위에서 sql update 문에서 param 값으로 in_date 라는 값이 필요 하거든요. 그런데 dbgrid 의 선택된 필드의 선택된 값(text)을 받아 올때 받지를 못해서 update 가 안되네요..

    > fieldbyname('in_date').asstring := dbgrid1.Fields[0].Text;

    > ==> dbgrid 에서 in_date가 dbgrid 의 첫번째 컬럼에 뿌려 집니다.

    > 로 받아도 access violation 에러가 나오고 이걸 피하기 위해 try except 로 넘어 가면 역시 값이 안 받아 지네요..

    > dbgrid의 선택된 필드의 text 값을 받아 오려면 다른 문법을 써야 하나요? 고언을 바랍니다

  • Profile
    코스엑스 2001.10.05 09:45
    목동 wrote:

    > 안녕하세요? 서울의 목동입니다..

    > 한가지 궁금한 것이 있어서 지난 게시물을 찾아 보고 있는데 라인 속도가 너무 느려서 1시간 동안 찾는데 적당한 답이 안나오네요..

    > 제가 궁금한것은 dbGrid 의 일정한 필드의 값을 알아 오는 것입니다.

    > 즉

    > procedure AAA

    > begin

    > with query1 do

    > close;

    > clear;

    > add(' update io_schedule set stat ="1" ');

    > Add(' where in_date = :indate '); // 지정된 날

    > fieldbyname('in_date').AsString := //===> 요기 이 부분

    ------------------------------------------------------------------

    ParamByName('In_Date').asString := dbGrid1.SelectedField.asString;



    In_Date field 가 스트링이면 스트링으로 처리하고

    DateTimeField 면 asDateTime 으로 처리해주셔야 합다.







    > execsql;

    > end;

    > end;

    > 위에서 sql update 문에서 param 값으로 in_date 라는 값이 필요 하거든요. 그런데 dbgrid 의 선택된 필드의 선택된 값(text)을 받아 올때 받지를 못해서 update 가 안되네요..

    > fieldbyname('in_date').asstring := dbgrid1.Fields[0].Text;

    > ==> dbgrid 에서 in_date가 dbgrid 의 첫번째 컬럼에 뿌려 집니다.

    > 로 받아도 access violation 에러가 나오고 이걸 피하기 위해 try except 로 넘어 가면 역시 값이 안 받아 지네요..

    > dbgrid의 선택된 필드의 text 값을 받아 오려면 다른 문법을 써야 하나요? 고언을 바랍니다