Q&A

  • 쿼리해온 필드가 readonly 인것 같네요..
멀티 티어로 작업중입니다.

여러테이블을 조인해서 쿼리해오는데..특정 필드만 수정하려하면 cannot bo modified 라는 메세지가 뜹니다.


ClientDataSet 을 통해 그리드에 작업 중인데....쿼리해올때 그 필드의 속성 정보를 보려면 어떻게 해야 하져?
단 그리드 속성이나 ClientDataSet 의 속성은 문제 없습니다.

제 생각으로는 app서버의 query 컴포넌트 셋팅문제가 아닐까 생각되는데...ms-sql 전용 sdac 내의
msquery 를 씁니다.

MSQUERY 의 프로퍼티를 뭔가 잘못 한거 같기도하고요..ㅋㅋ

암튼 쿼리시 그 필드값자체가 READONLY 속성 인것 같은데...디버깅 하는 방법좀 부탁 드려요...
5  COMMENTS
  • Profile
    초보임당 2008.05.14 23:55
    미들웨어에 SDAC (SQLSEVER DATA ACCESS COMPONENT) 를 쓰고 있는데...
    다른 컴퍼넌트에서는 문제 없는데...유독 이 컴퍼넌트에서  MSQUERY 와 MSCONNECTION  을 쓰고 있는데

    요 컴퍼넌트 셋팅 문제 인것 같네요...



    예를 들면  SELECT  구분, CASE WHEN  구분 ='1' THEN B.이름 ELSE C.이름 END AS  이름
                       FROM   AA  A,  BB B , CC C
                    WHERE A.코드 *= B.코드
                        AND A.코드  *= C.코드  

    요런 쿼리에서 이름이라는 필드가 아예 수정이 안된다는 겁니다...구분이라는 필드는 수정이 잘되는데..

    SELECT  구분, B.이름 AS  이름
                       FROM   AA  A,  BB B , CC C
                    WHERE A.코드 *= B.코드
                        AND A.코드  *= C.코드  

    요렇게 바꾸면 수정도 잘됩니다.

    SDAC 의 MSQUERY 의 문제인것 같습니다...쩝...




                        
  • Profile
    허 강 2008.05.13 20:54
    Source가 없어 어떻게 코딩을 했는지는 모르겠으나,
    Query의 속성 중 RequestLive를 True로 합니다.
    그런 후 DataSet의 속성 중 AutoEdit를 True로 하면 수정이 가능 합니다.



  • Profile
    초보임당 2008.05.13 21:54
    ㅎㅎ 답변감사드립니다...

    그 부분은 저도 알고 있습니다만...문제는 쿼리해온 필드중에 특정 필드만 그렇다는 거져...
    다른 필드값들은 모두 수정이 됩니다...유독 특정 필드만 수정이 안되네요...
    그필드의 속성은 모두 체크해봤구요..문제 없습니다.

    타프로그램도 동일한 증상입니다...



  • Profile
    허 강 2008.05.14 08:18
    답변드리기가 막막하네요. 혹시 Source를 보여주실 수 있나요?
      
  • Profile
    steps 2008.05.14 22:03
    혹시 그 필드를 조인에 리용하지 않으셨는지요.