두개의 query를 부자 관계로 설정해 놓고,
자 쿼리에서 새로운 내용이 입력되면 부 쿼리의 일부 필드를 수정하려고 합니다.
ex>
부 쿼리 - p_query
자 쿼리 - c_query
procedure Tdatamodule1.c_queryAfterPost(DataSet: TDataSet);
begin
p_query.edit;
p_query['position'] := c_query['position'];
p_query.post;
end;
이와 같이 했는데 에러메시지도 없이 잘수행 하는 척만하고
자료를 열어보면 전혀 수행이 안됩니다.
제발 제발 도와주십시요.......
어떤 DB를 어떻게 사용하고 있는지를 잘 모르겠는데요.
아마 이걸 알려주셨으면 많은 분들이 금방 답을 주셨을겁니다.
Query 콤포넌트를 아래와 같은 식으로는 쓰지를 않는다고 알고 있는데요.
일단 c 에 자료가 입력되면 p 에도 같은 자료가 입력이 되어야 하는것 같네요.
부자 관계라... Master/Detail 관계이겠지요.
그러면 키는 설정이 되어 있겠지요?
c_query에 입력이 된후에...
With p_query do
begin
Close;
SQL.Clear;
SQL.Add('Update Table명 Set position =:position ');
SQL.Add('Where KeyField명 =:KeyField인수명');
ParamByName('position').AsInteger := c_query.FieldByName('position').AsInteger;
ParamByName('KeyField인수명').AsString := ....;
Prepare;
ExecSQL;
end;
이렇게 하셔야 할것 같네요.
부자 관계로 엮으셨다.... 어떤 상황에서 그렇게 설정을 하셨는지 모르겠네요.
부자 관계 = Master/Detail 관계가 맞겠지요?
보통 Master/Detail 이면 Master가 변하면 Detail은 그에따라 다른 내용을 보여주는
등의 이유로 많이 설정을 하는데...
어떤 경우라도 아래처럼 해서는 제대로 저장이 되지는 않아요.
혹 제가 설명드린게 원하는 내용이 아니면 다시 질문하시기 바랍니다.
DB는 뭘 쓰고... 등등 좀 자세하게 내용을 설명을 하면 많은 분들이 도움을 주실겁니다.
위대한 단군혼이 살아있는 나라.... 대한민국.
남주희 wrote:
> 두개의 query를 부자 관계로 설정해 놓고,
> 자 쿼리에서 새로운 내용이 입력되면 부 쿼리의 일부 필드를 수정하려고 합니다.
>
> ex>
> 부 쿼리 - p_query
> 자 쿼리 - c_query
>
> procedure Tdatamodule1.c_queryAfterPost(DataSet: TDataSet);
> begin
> p_query.edit;
> p_query['position'] := c_query['position'];
> p_query.post;
> end;
>
> 이와 같이 했는데 에러메시지도 없이 잘수행 하는 척만하고
> 자료를 열어보면 전혀 수행이 안됩니다.
> 제발 제발 도와주십시요.......