C# DB 코딩 강좌 2008. 11. 14. 21:11

    아무래도 이야기의 질이 다소 떨어지는듯 싶다. 너무 이야기가 중구난방으로 흐르는듯 해서 하나의 집약하는 방법을 다시금 생각해 봐야겠다.

    ------------------------------------------------------------------------------------------

    자 이제 앞써 이야기 했던 ER-win은 친숙해 졌을거니 가볍게 테이블을 하나 추가해보자

    1. 테이블을 하나 만들고(콤보박스용)

    2. 그 테이블을 이용해서 데이터를 가져오도록 하는 DB접속 클래스를 하나 만들고

    3. 그 db접속 클래스를 오라클과 ms-sql용으로 만들고..

    4. 다시그 그 클래스를.. 요리보고 저리보고를 할것이다.

    테이블은 이렇게 만들어 보자.

    clip_image001

    차수는 정규화적 규칙을 위한 PK를 만들고

    콤보박스ID란 각 콤보박스의 고유번호라고 생각하자.(오타를 쩝.. 웃으며 넘기자 고치는게 귀찮다.)

    하여간 심플한 테이블을 하나 만들고 바로 물리테이블을 다시 또 만들자.

    clip_image002

    대략 위와같이 만들수가 있겠다.

    CREATE TABLE Combo

    (

    SEQ int identity NOT NULL ,

    ViewSEQ INTEGER NOT NULL ,

    Expression varchar(100) NOT NULL ,

    Value varchar(100) NOT NULL ,

    UseBool char(1) NULL ,

    Memo varchar(1000) NULL ,

    ComboID varchar(20) NOT NULL

    )

    Execution Successful

    ALTER TABLE Combo

    ADD CONSTRAINT XPKCombo PRIMARY KEY NONCLUSTERED (SEQ ASC)

    Execution Successful

    Schema Generation Complete

    2 query succeeded.

    대충 이렇게 생성을 하도록 하자.(너무 안일한 자세인가?)

    1. 폼설계는 대충 하자.

    clip_image003

    이렇게 하고 버튼의 코드에는

    setDB DB = new setDB();

    dataGridView1.DataSource = DB.callSQL("select * from combo").Tables[0] ;

    이렇게 두줄만 적기로 하자.

    그럼.. 저 setDB를 이제 우리는 클래스를 만들어야 겠다.

    clip_image004

    자 가볍게 이런 소스를 적었다고 보자.

    그럼 결국 디비에 접속해서 정보를 가져오게 될것이다.

    이거야 원 너무 쉬운 이야기라서 참 아쉽기도 하다만.. 문제는 이런 장난같은 함수를 또는 클래스를 만들지 않고 쓴다는게 첫번째 문제이다.

    clip_image005

    SP를 어떻게 사용하는가 하는 질문도 어디서 본듯한데..

    SP의 경우도 별게 없다.

    clip_image006

    자 이렇게 만들었다면.. 이제는 콤보박스에 바인딩을 연습을 해보도록 하자.

    상세한 설명은 링크의 글을 읽어보도록 하고

    http://www.devpia.com/Maeul/Contents/Detail.aspx?BoardID=45&MAEULNO=18&no=394&page=1

    자 일단은 우리가 만든 테이블에 정보를 넣어야 겠다 그래야 콤보박스에 바인딩 하는것을 보여줄테니 말이다.

    insert into combo(viewSeq,Expression,Value,UseBool,Memo,ComboID)

    values(1,'첫번째','1000','T','이건 연습이야','TEST1')

    insert into combo(viewSeq,Expression,Value,UseBool,Memo,ComboID)

    values(2,'두번째','2000','T','너무 귀찮아','TEST1')

    …………...

    이런식으로 넣고 싶은데로. 데이터를 넣어두자.

    clip_image007

    이렇게 콤보박스를 하나 더 추가 시키고..

    테이블의 정보를 저 콤보박스에 셋팅을 시켜보도록 하자.

    DataTable DT = DB.callSQL("select * from combo").Tables[0];

    dataGridView1.DataSource = DT;

    comboBox1.DataSource = DT;

    comboBox1.DisplayMember = DT.Columns["Expression"].ToString();

    comboBox1.ValueMember = DT.Columns["Value"].ToString();

    clip_image008

    이런방식으로 콤보박스가 셋팅되는것을 볼수 있을것이다.

    그러면 또 하나의 질문이 나올듯 한데 왜 이렇게 어렵게 콤보박스를 셋팅하는것인가 말이다.

    그러게 말이다.

    왜 이렇게 어렵게 하는것인지 아마도 잘난척인가 보다. 그저 넘기도록 하자.

    원본 위치 <http://www.devpia.com/MAEUL/Contents/Detail.aspx?BoardID=18&MAEULNO=8&no=1587&page=1>

'C# DB 코딩 강좌' 카테고리의 다른 글

C#을 이용한 DB코딩 12  (0) 2008.11.14
C#을 이용한 DB코딩 11  (0) 2008.11.14
C#을 이용한 DB코딩 10  (0) 2008.11.14
C#을 이용한 DB코딩 9(인터페이스)  (0) 2008.11.14
C#을 이용한 DB코딩 8  (0) 2008.11.14
C#을 이용한 DB코딩 6(TcpChannel)  (1) 2008.11.14
C#을 이용한 DB코딩 5  (0) 2008.11.14
C#을 이용한 DB코딩 4(Virtual PC)  (0) 2008.11.14
C#을 이용한 DB코딩 3  (0) 2008.11.14
C#을 이용한 DB코딩 2  (0) 2008.11.14
posted by 삶의여유로움
: