아무래도 이야기의 질이 다소 떨어지는듯 싶다. 너무 이야기가 중구난방으로 흐르는듯 해서 하나의 집약하는 방법을 다시금 생각해 봐야겠다.
------------------------------------------------------------------------------------------
자 이제 앞써 이야기 했던 ER-win은 친숙해 졌을거니 가볍게 테이블을 하나 추가해보자
1. 테이블을 하나 만들고(콤보박스용)
2. 그 테이블을 이용해서 데이터를 가져오도록 하는 DB접속 클래스를 하나 만들고
3. 그 db접속 클래스를 오라클과 ms-sql용으로 만들고..
4. 다시그 그 클래스를.. 요리보고 저리보고를 할것이다.
테이블은 이렇게 만들어 보자.
차수는 정규화적 규칙을 위한 PK를 만들고
콤보박스ID란 각 콤보박스의 고유번호라고 생각하자.(오타를 쩝.. 웃으며 넘기자 고치는게 귀찮다.)
하여간 심플한 테이블을 하나 만들고 바로 물리테이블을 다시 또 만들자.
대략 위와같이 만들수가 있겠다.
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. 폼설계는 대충 하자.
이렇게 하고 버튼의 코드에는
setDB DB = new setDB();
dataGridView1.DataSource = DB.callSQL("select * from combo").Tables[0] ;
이렇게 두줄만 적기로 하자.
그럼.. 저 setDB를 이제 우리는 클래스를 만들어야 겠다.
자 가볍게 이런 소스를 적었다고 보자.
그럼 결국 디비에 접속해서 정보를 가져오게 될것이다.
이거야 원 너무 쉬운 이야기라서 참 아쉽기도 하다만.. 문제는 이런 장난같은 함수를 또는 클래스를 만들지 않고 쓴다는게 첫번째 문제이다.
SP를 어떻게 사용하는가 하는 질문도 어디서 본듯한데..
SP의 경우도 별게 없다.
자 이렇게 만들었다면.. 이제는 콤보박스에 바인딩을 연습을 해보도록 하자.
상세한 설명은 링크의 글을 읽어보도록 하고
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')
…………...
이런식으로 넣고 싶은데로. 데이터를 넣어두자.
이렇게 콤보박스를 하나 더 추가 시키고..
테이블의 정보를 저 콤보박스에 셋팅을 시켜보도록 하자.
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();
이런방식으로 콤보박스가 셋팅되는것을 볼수 있을것이다.
그러면 또 하나의 질문이 나올듯 한데 왜 이렇게 어렵게 콤보박스를 셋팅하는것인가 말이다.
그러게 말이다.
왜 이렇게 어렵게 하는것인지 아마도 잘난척인가 보다. 그저 넘기도록 하자.
원본 위치 <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 |