Q&A

  • 테이블변경후 쿼리에 변경데이터 적용안됨
제발 도와 주세요. 몇주 헤매고 있습니다.
테이블에 데이터를 추가하거나 변경한 것을 쿼리를 하면 쿼리에 변경된 내용이 적용되질 않습니다.
테이블.POST; 까지 했는데 왜 쿼리에 변경데이터가 적용되질 않는지 이해가 되질 않습니다.
도와 주세요.
5  COMMENTS
  • Profile
    김병윤 2008.05.03 18:33
    제발 도와드리고 싶어도 질문을 이해하기가 더 힘드네요(내용이 좀 막연해서..^^;)
    어떻게 코딩을 하셨는지 상황설명을 좀 더 자세히 하시면 좋은 대답을 얻을 수 있지 않을까 싶네요

    TTable컴포넌트를 이용해서 Post하셨는데 데이터가 적용되지 않는단 말씀이신지?
    TQuery컴포넌트를 이용해서 업데이트 후 TTable컴포넌트를 Post하셨다는 것인지?(이건 좀 억지인가? ^^;)

    그냥 TQuery컴포넌트로 추가, 수정을 하신 것을 TTable에서 열어보면 적용이 안된다는 것인지?
    TQuery로 추가, 수정을 하셨다면 SQL문을 사용해서 하신것인지?
    아님 RequestLive속성을 이용해 TTable처럼 Append ~ Post를 하신건지
    만약 RequestLive속성을 이용해 Post를 하셨다면 Post하실때 에러메시지 같은 것은 나오는 것이 없으신지?

    혹시 적용했던 것이 새로 테이블을 불러왔을때 적용되어 보이지는 않는지?
    또는 트랜젝션을 걸어두신것을 모르고 Commit를 해주시지 않아서 적용이 되고 있는 것은 아니신지..?

    도움을 받으시고자 하는 소스부분을 보여주시면 더 정확한 답변을 얻으실 수 있으리라 생각합니다.
    질문자나 답변자 모두 잘먹고 잘사는 그날을 위해~ ^^

  • Profile
    Jacques 2008.05.05 01:44
    TTable에서는 post를 해서 데이터가 업데이트 된 것이 보입니다.  그런데 업데이트된 TTable의 데이터를
    쿼리할때 변경된 값이 적용되어 쿼리가 않되는 상태입니다. 소스는 아래와 같습니다.

    procedure TForm1.Add_ButtonClick(Sender: TObject);
    begin
            Form2 := TForm2.Create(nil);
            if Form2.ShowModal = mrOK Then
            Begin
              WH11.Append;
              WH11.FieldByName('PalletNo').AsString := Form2.Edit1.Text;
              WH11.FieldByName('ItemCode').AsString := Form2.Edit2.Text;
              WH11.FieldByName('GrpName').AsString := Form2.Edit3.Text;
              WH11.FieldByName('Qty').AsString := Form2.Edit4.Text;
              WH11.FieldByName('Place').AsString := Form2.Edit5.Text;
              WH11.FieldByName('Remark').AsString := Form2.Edit6.Text;
              WH11.FieldByName('Class').AsString := Form2.Edit7.Text;
              WH11.Post;
            End;

    end;

    procedure TForm1.DBGrid1DblClick(Sender: TObject);
    begin
            Form3.show;
            Form3.Query1.Close;
            Form3.Query1.SQL.Clear;
            Form3.Edit1.text:=Form1.WH11.FieldByName('PalletNo').AsString;
            Form3.Query1.SQL.ADD('select PalletNo,Itemcode,GrpName,qty,Place,remark,class  
                                                     from   WH11.dbf ');
            Form3.Query1.SQL.ADD('Where PalletNo =:PalletNo');
            Form3.Query1.ParamByName('PalletNo').asString := Form3.Edit1.Text ;
            Form3.Query1.SQL.ADD('Order by PalletNo');
            Form3.Query1.Open;
    end;

    이상입니다.
    그리고 한가지 질문이 더 있는데, 프로젝트 화일이 위치한 곳에 이상한 파일들이 생기는데 이것이 정상인지요.
    _QSQL000, _QSQL103,_QSQL108 등등의 파일이 많이 생성되어 있는데, 이걸 지우면 안되는지요?
    도대체 이 파일의 정체는 무엇인지 궁굼합니다.
    고수님들의 답변을 부탁드립니다.

  • Profile
    김병윤 2008.05.07 21:37
    보여주신 소스 그대로 코딩을 해봤는데 잘 동작합니다.
    테스트 해봐도 별다른 에러가 발생하지 않는걸로 볼 때
    프로그램 내부에 뭔가 다른 문제가 있다고 밖에는 생각이 되지 않습니다.

    죄송하게도 도움이 되지 못하네요..;;
    풀 소스를 보면서 테스트 해보고 싶지만...그건 힘들겠죠? ^^
    혹시나 해서 제가 테스트해본 소스 올려둡니다. 그럼..



  • Profile
    Jacques 2008.05.06 10:13
    [질문] 답변 부탁드립니다.
  • Profile
    Jacques 2008.05.09 01:25

    해결 되었습니다. 정말 감사합니다.