2014-04-29 2 views
-5

이 코드는 어떻게 작동합니까? 한마디로Else If Else - Delphi에서 어떻게 작동합니까?

if name <> '' then 

    begin 
     sql_1 
    end 

else if PARAMETRIC then 
    begin 
     sql2 
    end 
else 
    begin 
     sql3 
    end 
end; 

경우 또는 ELSEIF 또는 다른 사람에 의해 choosed 할 SQL을 실행 .....

name = is a string 
PARAMETRIC = is a boolean 
sql1, sql2, sql3 are different queries (sorry for forgot it :() 
+4

첫 번째 조건은 'name'이 ''와 같지 않은 경우 true를 반환하고 다음 조건 인 경우 부울 변수/상수를 검사합니다. – Cyclonecode

+0

name name 조건이 true 인 경우 ok, 두 번째 및 세 번째 sql이 작성됩니까? –

+1

http://en.wikipedia.org/wiki/Conditional_%28computer_programming%29 – Cyclonecode

답변

0

: sql_1이 실행됩니다

  • name가 비어 있지 않은 경우,
  • name이 비어 있고 PARAMETRIC이인 경우 name가 비어 있고 PARAMETRICfalse 경우 238,, sql_2
  • 실행됩니다 sql_3는 당신은 항상 더 분명 보이게 begin/end 문을 추가 할 수 있습니다

실행됩니다.

if name <> '' then 
    begin 
     sql_1 
    end 
else 
    begin 
     if PARAMETRIC then 
      begin 
       sql2 
      end 
     else 
      begin 
       sql3 
      end; 
    end; 
end; 
1

당신은 (코멘트에서) C#을 알고 있다고 말합니다. 음, 델파이에서도 똑같이 작동합니다. if ... else 문을 작성하고 else 뒤에 추가 조건을 추가 할 수 있습니다. 델파이에서

:

if condition1 then 
begin // Open multi-line statement. 
    Do1a; 
    Do1b; 
end 
else if condition2 then 
    Do2; 

C#으로 : 정말 혼란을 이해하지 못하는 동안

if (condition1) 
{ // Open multi-line statement. 
    Do1a; 
    Do1b; 
} 
else if (condition2) 
    Do2; 

그래서, 질문에 대한 대답은 : 아니, 그들은하지 않습니다 모두 실행되었습니다. condition1이 true이면 'elses'가 실행되지 않습니다. condition1이 거짓이고 condition2가 true이면 두 번째 문 (do2)이 실행됩니다. 둘 다 거짓이면 아무 것도 실행되지 않습니다 (또는 경우에 따라 else이 실행되므로 무언가가 SQL3이됩니다).

관련 문제