오류 상황
테이블 3개가 있고 이름은 각각 A, B, C이다.
A테이블은 B테이블과 마스터-디테일 관계고 B테이블은 C테이블과 마스터-디테일 관계임.
B테이블은 행을 추가할 때 A테이블에 선택되어 있는 행의 seq를 가져와 쓰고,
C테이블은 A테이블과 B테이블에 선택되어 있는 행의 seq를 각각 가져다 쓴다.
B 테이블과 C테이블에는 각각 DB에 있는 해당 테이블의 모든 행이 존재함.
마스터 테이블이 행변경 될 때 필터를 사용해 디테일 테이블의 내용을 변경하는 방식.
dsCCC.Filter("AAA_SEQ="+aaaSeq+" and BBB_SEQ="+bbbSeq);
그런데 필터가 잘 되다가 A테이블에 행추가를 하면 C테이블에 모든 데이터가 뜨면서 오류메시지가 발생했다.
오류 메시지
ERP (23304): -2085604848:Expression Syntax에 오류가 발생하였습니다.Invalid Operator and:AAA_SEQ= and BBB_SEQ=
오류 원인 & 해결법
마이플랫폼은 js처럼 자료형이 불명확하다고 한다.
Filter 사용 시 변수를 꼭 따옴표로 감싸야 함. quote()을 사용하기도 한다.
dsCCC.Filter("AAA_SEQ='"+aaaSeq+"' and BBB_SEQ='"+bbbSeq+"'");
'개발툴 > MiPlatform' 카테고리의 다른 글
[MiPlatform] 특정 컬럼명의 index 얻기 (0) | 2021.07.01 |
---|---|
[MiPlatform] 현재 선택된 로우 인덱스 얻어오기 (0) | 2020.07.22 |
[MiPlatform] 데이터셋에 신규 추가한 행만 수정 가능하게 하기 (0) | 2020.06.19 |
[Miplatform] 행 추가 시 특정 셀 속성값 바꾸기 (0) | 2020.06.16 |
[MiPlatform] 특정 컬럼에 특정 값이 있는 로우(행) 찾기 (0) | 2020.02.26 |
댓글