안녕하세요? 서울의 목동입니다..
한가지 궁금한 것이 있어서 지난 게시물을 찾아 보고 있는데 라인 속도가 너무 느려서 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 값을 받아 오려면 다른 문법을 써야 하나요? 고언을 바랍니다
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 값을 받아 오려면 다른 문법을 써야 하나요? 고언을 바랍니다