• Programming by 白影를 방문하신 여러분을 환영합니다 :)

PC방용 정산관리 제작일지 - 02

 

MYSQL 과 VB.NET을 연결하는 방법은 여러가지가 있다.

필자는 그중에서도 MysqlClient 라는 방식을 사용하려고 한다.

MySql.Data.dll

이파일을 다운로드 받고, 참조추가 해준뒤

 프로젝트 속성 - 참조  에 들어가서

그림과 같이 로컬 복사를 True 로 설정해둔다.

이렇게 바꿔주면 컴파일 할때마다 EXE와 같은 경로에 저 파일도 같이 복사를 해준다.

 

MYSQL을 연결하기 위해선 서버주소, ID등 연결문자열을 써야하는데

이것을 프로그램내에 지정해버린다면 혹시라도 변동사항이 있을경우

프로그램을 수정해야 되는 번거러움이 있다.

그래서, 필자는 app.cfg 라는 파일을 만들고,

그 안에 연결에 필요한 정보를 넣어두었다.

 

app.cfg 파일의 내용은 다음과 같다

SERVER=61.42.232.124; 
DATABASE=XENO; 
UID=root; 
PWD=apmsetup; 
OPTION=35; 
STMT=set names euckr 

 

필자는 프로그램을 구동할 sub main 과

각종 전역변수등을 선언하기위해

Program.vb 라는 새로운 모듈을 생성하였다.

 

 

▣ while문

  
public class Ch6_Ex {
    public static void main (String[] args) {
        int i = 0 ;
        while ( i < 10 ) {
            System.out.println(" i의 값은 " + i) ;
            i ++ ;
        }
    }
}

while문은 루프구조의 상단에 조건식이 존재하므로 조건을 만족하면 내부 로직이 한번도 실행되지 않을 수 있다.


▣ do-while문

  
public class Ch6_Ex {
    public static void main (String[] args) {
        int i = 10 ;
        do {
            System.out.println(" i의 값은 " + i) ;
            i ++ ;
        } while ( i < 10 ) ;
    }
}

do-while문은 루프구조의 하단에 조건식이 존재하므로 조건을 만족하더라도 내부 로직이 한번은 실행된다.


▣ do-while문

  
public class Ch6_Ex {
    public static void main (String[] args) {
        for ( int i = 0; i < 10; i++ ) {
            System.out.println(" i의 값은 " + i) ;
        } 
    }
}

for문은 설정된 조건식과 증감식에 의한 횟수만큼 내부 로직이 실행된다.


▣ break

  
import java.util.* ;

public class Ch6_Ex {
    public static void main (String[] args) {
        int i = 0 ;
        int total = 0 ;
        int counting = 0 ;
        int cost = 0 ;

        Scanner scan  = new Scanner(System.in) ;
        while ( true ) {
            System.out.println(" 금액을 입력하시오 : ") ;
            int cost = scan.nextInt() ;
            if ( cost < 100 )
                break ;

            total += cost ;
            counting++ ;
        }
        System.out.println( "평균금액은 " + total / counting + "원입니다."
    }
}

break문은 해당 루프문을 종료시킨다.


  
        check_loop :
        while ( true ) {
            while (true) {
                if ( cost < 100 )
                    break check_loop ;
            }
        }

중첩 루프문에 레이블을 부여하여 break문을 사용하는 경우 그 레이블에 해당하는 중첩 루프문을 모두 종료시킨다.


▣ continue

  
public class Ch6_Ex {
    public static void main (String[] args) {
        int counting = 0 ;
        for ( int i = 0; i < 10; i++ ) {
            if ( i % 2 = 0 )
                continue ;
            counting++ ;
        } 
        System.out.println("2의 배수의 갯수는 " + counting + "개입니다.") ;
    }
}

if문 안의 조건을 만족할는 경우에만 전체 for문을 루프하며, 만족하지 않는 경우 다시 for문 상단으로 돌아가 로직을 반복한다.

Chapter 06 조건과 반복


▣ if 문


public class Ch6_Ex {
    public static void main (String[] args) {
        if (age >= 20)
            System.out.println("미성년이 아닙니다.");
}
    
public class Ch6_Ex {
    public static void main (String[] args) {
        if (age >= 20)
        {
            System.out.println("미성년이 아닙니다.");
            System.out.println("출입이 가능합니다.");
        }
        else
        {
            System.out.println("미성년자 입니다.");
            System.out.println("출입이 불가능합니다.");
        }
}


▣ 조건 연산자


public class Ch6_Ex {
    public static void main (String[] args) {
       System.out.println(age >= 20 ? "미성년이 아닙니다." : "미성년자 입니다.");
}


▣ 연속적인 if문


public class Ch6_Ex {
    public static void main (String[] args) {
        if (age >= 20)
            System.out.println("성인 입니다.");
        else
            if (age >= 17)
                System.out.println("고등학생입니다.");
            else
                if (age >= 14)
                    System.out.println("중학생입니다.");
                else
                    System.out.println("초등학생입니다.");
}
 
public class Ch6_Ex {
    public static void main (String[] args) {
        if (age >= 20)
            System.out.println("성인 입니다.");
        else if (age >= 17)
            System.out.println("고등학생입니다.");
        else if (age >= 14)
            System.out.println("중학생입니다.");
        else
            System.out.println("초등학생입니다.");
}


▣ switch문

  
public class Ch6_Ex {
    public static void main (String[] args) {
        int number;
        switch (number) {
        case 1 :
            System.out.println("1학년 입니다.");
        case 2 :
            System.out.println("2학년 입니다.");
        case 3 :
            System.out.println("3학년 입니다.");
        case 4 :
            System.out.println("4학년 입니다.");
        default :
            System.out.println("예비대학생 입니다.");
}