잠시 쉬어가는 코너로 SQLite연결을 위한 전역변수 사용에 대한 부분을 살펴보자

 

먼저 참조로 System.Data.SQLite.Core를 선택해서 추가하였다.

 

using System.Data.SQLite;

 

그런 다음 전역변수로 DB연결부분을 만들었다

 

public class global_variable
        {

            //전역변수 선언부분
            private static String currentPath = Environment.CurrentDirectory; //현재 디렉토리
            private static string bDBPath = currentPath + "\\blocknori.db"; //DB명
            private static String bConnStr = String.Format("Data Source={0};password={1}", bDBPath, "비밀번호");

            private static SAdminInfo g_AInfo;

            public static string DBPath  //디비 경로 설정
            {
                get { return bDBPath; }
                set { bDBPath = value; }
            }

            public static string ConnStr  //디비 연결문자열
            {
                get { return bConnStr; }
                set { bConnStr = value; }
            }

         }

 

위와 같이 전역변수를 선언한 다음 DB연결을 진행했다.

 

DB는 설치프로그램 하단에 루트디렉토리에 존재하도록 작업을 하였다.

 

그리고 몇가지 공통되는 함수를 만들었다

그중 하나가 페이징이다

페이징에서는 가장 중요한것이 페이징 갯수를 구하는 것이다

함수를 살펴보면 아래와 같다

 

 

//페이징 갯수 구하기
     public long GetPageSize(long nTotal, long nPageNum)
        {
            double nTP;

            nTP = 0;

            try
            {
                if (nTotal == 0)
                {
                    nTP = 0;
                }
                else
                {
                    nTP = (double)(nTotal / (double)nPageNum) * (double)nPageNum;

                    if ((double)nTP % (double)nPageNum != 0)
                    {
                        nTP = (nTP / (double)nPageNum) + 1;
                    }
                    else
                    {
                        nTP = nTP / (double)nPageNum;
                    }

                }
            }
            catch { }

            return (long)nTP;
     }

 

 

메인에서 사용할때는

먼저

private long noriPageSize = 15;
        
private long chargePageCount = 0;
private long chargeCurrentPage = 1;

 

private로 변수를 선언한 다음

long TotalRecords = 총레코드수를 구한다;

noriPageCount = dbcon.GetPageSize(TotalRecords, noriPageSize);

 

이렇게 페이지 갯수를 구하면 된다.

 

다음 포스트에서도 중간 중간 특이한 함수에 대해서는 정리를 하고자 한다

 

top


이번 포스트에서는 회원등록과 회원수정, 그리고 회원삭제, 회원목록에 대한 화면을 설명하고자 한다

 

먼저 회원등록폼을 살펴보자

 

 

회원등록폼을 보면 알겠지만 굉장히 단순하게 만들었다

이름과 성별, 생년월일과 나이, 연락처 등을 입력해준다

상기 항목은 모두 필수 항목이다

 

회원은 가입과 동시에 시간을 충전해야 한다

기본 20시간에서 부터 20시간단위로 100시간까지 충전이 가능하다

그리고 유효기간은 20시간은 4개월

40시간은 6개월

60시간은 8개월

80시간은 10개월

100시간은 12개월로 되어 있다

이메일과 주소 메모는 옵션으로 작성하지 않아도 가능하다

 

회원을 가입하면 기본적으로 시간충전이 한번 일어나게 되어 있다.

왜냐하면 회원이라함은 시간충전이 된 사용자를 지칭하기 때문이다

일일회원은 회원가입이 아니라 지난번 포스트에서처럼 일일회원으로 등록하면 된다

 

일단 회원등록이 되면 자동으로 회원번호가 순차적으로 부여되며 시간충전이 완료된다.

 

그럼 회원목록을 살펴보자

 

 

회원목록을 보면 연번과 회원번호, 이름, 성별, 생년월일, 나이, 연락처, 이메일, 주소, 메모로 목록이 나타난다.

검색을 통하여 회원의 정보를 볼수도 있다

 

그리고 하단의 전체목록버튼을 클릭하면 전체 회원 목록이 나타난다

초기화면은 아무회원도 보이지 않는다

르기고 한페이지에 15명씩 보이도록 구성되어 있다

이것은 노트북화면에서 최적화를 시키기 위해 그렇게 했다.

 

회원을 선택하고 상단에 수정버튼을 클릭하면 회원 가입시 입력한 정보가 새창으로 나타난다.

폼의 모양은 회원등록시와 똑같다

단지 시간충전만 빠져있다.

 

 

그리고 회원삭제는 회원을 선택하고 삭제버튼을 누르면 삭제 여부를 묻고 삭제가 된다

 

그리고 상단의 있는 엑셀다운로드는 검색회원이나 현재 페이지에 있는 회원만을 엑셀로 다운로든 하는것이고 하단의 전체회원엑셀다운로드는 페이징과 관게없이 전체회원에 대한 엑셀을 다운로드하게 해준다

 

그리고하단의 페이징버튼을 통하여 페이지 이동이 가능하게 만들었다.

 

오늘은 비교적 간단하게 회원등록과 목록에 대해서 설명한것 같다

다음포스트에서는 시간충전과 시간충전 기록에 대한 화면 설명을 진행할 예정이다

다음포스트도 많은 관심을 부탁드립니다

 

top


이제부터는 메인화면 구성을 살펴보기로 하자

 

 

상단의 그림처럼 메인화면은 단순 구성으로 이루어져있다.

먼저 가장 상단에 블럭방이용신청, 시간충전, 회원등록, 내정보수정, 블럭제품등록, 관리자등록으로 구성되어 있으며 하단 리스트부에는 탭으로 구성되어 있으며 일일블럭방이용관리, 회원관리,충전기록관리,회원유효기간관리, 블럭방이용관리, 블럭제품관리, 관리자 관리로 구성되어 있다

여기서  관리자 등록, 관리자관리는 오직 최고 관리자 권한을 갖는 사람에게만 노출되어 진다.

 

리스트뷰에 대한 기능 설명부터 차근차근 살펴보자

 

첫번째로 보이는 것이 일일블럭방 이용관리다

날짜별로 자유블럭방을 이용하는 친구들에 대한 목록을 보여준다.

 

먼저 자동으로 당일 날짜가 셋팅되어져 있다.

달력을 클릭하면 다른 날짜를 선택하고 그 선택되어진 날짜에 이용한 사람들 목록이 보여진다.

 

구성은 번호, 회원번호, 이름, 나이, 입실시간, 퇴실시간, 인정시간, 잔여시간, 입금/결재, 연락처, 메모로 구성되어 있다

 

그럼 먼저 블럭방 이용신청화면을 살펴보자

 

 

먼저 회원인 경우 회원이름을 입력하여 검색하면 된다.

검색된 화면에서 회원을 선택하면 그 회원의 정보가 상기 화면에 자동으로 뿌려진다.

 

구성은 화면에 보이는것처럼 단순하게 되어 있다.

회원일 경우 회원번호가 표시되는것 이외는 일반(일일단순이용회원)이나 시간충전회원이나 동일하다 또한 비회원전환을 선택시에는 회원도 비회원 즉 일일단순이용회원으로 변경도 가능하다

반대로 일일단순이용회원에서 회원등록과 시간충전을 한경우는 다시 수정화면을 통해 회원으로 전환도 가능하다

그부분은 아래에서 살펴보기로 하자

이렇게 내용을 입력한 다음 등록을 하면 일일이용기록으로 등록이 된다.

 

 

회원일때 검색화면이다.

검색된 회원을 더블클릭으로 선택하거나 하단의 회원선택버튼을 눌러서 선택을 하면된다.

회원이 아니면 일반등록버튼을 눌러 일반회원으로 등록하면된다

 

 

 

일일회원정보 수정은 등록화면과 동일하다

여기서 회원으로 전환하고 싶으면 회원검색을 한 후 해당 회원을 선택하면 회원번호가 기록되어진다. 그러면서 회원등록으로 변경이 된다.

물론 이때 다른 기록들은 변경이 되지 않고 그대로 화면에 나타난다.

단순히 회원으로만 변경이 된다

 

 

 

일일회원에 대한 마감화면이다

입실일자와 회원이면 회원번호가 기록되어 지고

최초 입실시간과 퇴실시간이 기록되어진다

퇴실시간은 자동으로 현재시간이 기록되어 진다.

사용시간이 계산되어져 표시된다

30분 단위로 과금이 되도록 구성되어 있어서 수동으로 인정시간을 선택하도록 되어 있다.

서비스를 해주는 친구를 위해 인정시간 0분 부터 사용시간 전후 30분 단위로 이전 1시간 이후 1시간을 선택하도록 만들어져 있다

예를 들면 2시간 30분을 이용한경우

1시간 30분, 2시간, 2시간30분, 3시간, 3시간30분으로 인정시간을 선택하도록 되어 있다

이 인정시간에 따라 남은 시간(회원인경우)이나 결재금액이 결정된다.

 

마감을 하더라도 다시 취소를 하면 마감취소가 가능하다.

 

그리고 마감이 된경우 일일회원정보 수정이나 삭제는 불가능하도록 구성되어 있다.

 

다음 포스트에서는 회원관리, 회원등록화면에 대해서 살펴보자

top