2017-12-28 7 views
0

체크 테이블에 대한 루핑을 만들고 싶습니다. 열 3 중 하나에 포함되어있는 경우모든 값이 올바른 루핑인지 확인하십시오.

" 없다"변수 열 3 = YES, 변수의 모든 값은이 리턴 값으로 할 경우은 ""

채워지지한다

Col1 depend isResolved 
im1 SD10349 yes 
im2 SD10349 no 
im3 SD10349 yes 

나는이 코드로

var frel = new SCFile("screlation"); 
var q = "depend=\"SD10349\""; 
var rc = frel.doSelect(q); 
var a=""; 
while(rc==RC_SUCCESS){ 
    switch(true){ 
     case frel.isResolved=="yes": 
      a="yes";break; 
     case frel.isResolved=="no": 
      a="no";break; 
    } 
    rc=frel.getNext(); 
} 
print(a); 
,536,913 아래

이지만 변수 은 항상 을 반환합니다. 아무것도 감사하는 데 도움이 : switch 문에서

감사합니다, Okik

답변

2

이 그것을 수행해야합니다

여기
var frel = new SCFile("screlation"); 
    var q = "depend=\"SD10349\""; 
    var rc = frel.doSelect(q); 
    var a=""; 
    while(rc==RC_SUCCESS){ 
     a = (frel.isResolved=="yes")?"yes":"no" 
     if(a=="no")break; 
     rc=frel.getNext(); 
    } 
    print(a); 
    } 
+0

고맙다. 작동한다. – user3418286

2

switchexpression 매개 변수, 표현하지 가능한 출력을 가지고있다.

같은

switch(frel.isResolved){ //expression as the parameter to switch 
    case "yes": //check the 
     a="yes";break; 
    case "no": 
     a="no";break; 
    default: 
     break; 
} 

을 반전 시도하거나

a = frel.isResolved; 

편집

당신이 만약 (즉, 당신이 어쨌든하고있는 일이기 때문에) 단순히 afrel.isResolved의 값을 할당 아니오를 만나는 즉시 중지하고 싶습니다.

while(rc == RC_SUCCESS && a != "no") 
{ 
    a = frel.isResolved; 
    rc = frel.getNext(); 
} 
+0

다음 루프에서 여전히 "아니오"로 설정되면 "아니오"다음에 "예"가 표시되면 yes가 반환됩니다. a가 yes로 재설정됩니다. –

+0

@js_noob 어쩌면 제가 놓친 것일 수 있습니다 - Is 거기에 '아니오'가 발생하면 루프가 종료되어야한다는 요구 사항이 있습니까? – gurvinder372

+0

@ gurvinder372가 필요하지 않으므로 아무런 문제가 발생하지 않을 것입니다. –

0

에 문제가 이전 값을 삭제하지 않습니다. 이전 값을 지우십시오. 첫 번째 경우 값을 null 또는 비어있게 만듭니다.

rc = frel.getNext(); 명령문은 다음 루프로 가기 전에 변수 값을 지운다.

a.val ('');

관련 문제