프로그래밍/C#

[C#] WinForm에 MySQL 연동하기

Dibrary 2022. 5. 2. 09:50
반응형

안녕하세요 Dibrary입니다.

C#으로 만드는 Winform 프로그램에 MySQL을 연동해보겠습니다.

 

먼저 Visual Studio를 실행하시고 프로젝트를 생성해주세요.

 

C#을 사용한 Winform GUI - 본격적으로 C# 시작하기

안녕하세요, Dibrary입니다. 다들 아시다시피 GUI는 사실 이 기능, 저 기능들을 구현 해 두면 편리합니다. C#에도 GUI를 만들 수 있는 기능이 있습니다. 윈도우와 리눅스에서도 쓸 수 있는 GUI를 만들

dibrary.tistory.com

 

오른쪽에 솔루션탐색기를 보시면 프로젝트에 참조가 있을 겁니다. 

참조 부분에서 마우스 오른쪽을 누르고 Nuget 패키지 관리를 눌러주세요.

 

그러면 아래와 같은 화면이 나올겁니다.

 

검색창에 mysql 을 입력하면  MySql.Data가 나올겁니다. 설치해주세요.

 

설치 도중에 아래와 같은 화면이 나오면 동의해주시면 됩니다.

 

정상적으로 모듈이 받아졌으면 참조 아래에 MySql.Data가 들어간 것을 볼 수 있습니다.

 


이제 코드를 작성해보겠습니다. 먼저 코드 상단부에 아래 코드를 직접 입력해주세요.

물론, 코드 작성하다가 추가될 수 있지만, 저는 귀찮은 관계로 아예 처음부터 using을 써놓고 코드를 작성합니다.

 

그리고, MySql에 접속할 객체를 생성합니다. 

제가 가렸지만, Server는 localhost 혹은 관련 IP를 넣으시면 되고, Database는 데이터를 읽어올 데이터베이스 이름을 넣으시면 됩니다. Uid와 Pwd는 계정정보입니다.

 

그리고, 저는 Winform을 아래와 같이 좀 수정했습니다.
위에 검색창에 입력하고 오른쪽 버튼을 누르면 아래 표에 데이터가 나오게 말이죠.

 

이제 버튼을 누르면 위의 dataGridView 객체에 데이터가 나타나게 코드를 작성해보겠습니다.

1. 조건문으로 분기

먼저 조건문으로 '검색창에 입력한 데이터가 없으면' SELECT * from analyzer_tb라는 쿼리가 실행됩니다.

'검색창에 입력한 데이터가 있으면' 기존 쿼리문에 WHERE 절이 추가 되어서 실행됩니다.

 

2. 쿼리문 사용해서 DataReader객체 가져오기

쿼리문과 맨 처음에 만든 DB연동객체를 이용해서 MySqlCommand 객체를 만들 수 있습니다.

MySqlCommand 객체에 ExecuteReader 함수를 실행하면 MySqlDataReader 객체를 반환합니다.

저는 이 객체를 while문을 돌리면서 dataGridView에 표현하게 했습니다.

 

3. DataReader객체를 dataGridView객체에 표현하기

dataGridView에 나타내는 방법을 주의깊게 봐주시기 바랍니다.

["컬럼명"] 이렇게 사용해서 해당 데이터를 가져오고 Rows.Add를 이용해서 dataGridView에 넣습니다.

또, 다른 데이터 처리를 원하거나 배열에 넣으려면 while문 안에 배열에 넣는 코드를 작성하거나, 데이터 처리 코드를 넣으시면 됩니다.

 


결과는 예상한 바와 같이 데이터를 불러와서 표처럼 나타냅니다.

검색창에 아무 값 없이 확인 버튼을 누르면 아래와 같이 데이터를 불러옵니다.

 

검색창에 값을 넣고 확인 버튼을 누르면 일치하는 것만 불러옵니다.

 

이상으로 C#의 Winform에 DB를 연동해보았습니다.

728x90
반응형