[C#] MySQL 연결후 데이터 저장, 조회 하기 |
환경 : window 7 64bit, Visual Studio 2014 |
C# 에서 MySQL 을 사용하기 위해서는 Connector 가 필요합니다. 이 Connector DLL 은 MySQL 웹사이트에서 받을수 있으며 드라이버 설치후 MySQL.Data.MySqlClient 네임스페이스를 참조하면 됩니다. 이번예제는 간단하게 연결해서 입력과 조회를 해 보도록 하겠습니다.
▶ MySQL Connector/Net 를 받기 위해 아래 사이트로 접속합니다.
http://dev.mysql.com/downloads/connector/net/
▶ 다운 받아서 설치 합니다. 기본만 설치 하시면 됩니다.
▶ 설치가 끝나면 API 문서를 볼수 있는 메뉴가 추가 됩니다. 아래 문서를 열어서 궁금한점은 참조 하여 개발을 진행 하면 될 것 같네요.
▶ C# 에서 MySQL 에 접속하기 위해 dll 을 추가 하여야 합니다. Extensions 으로 가셔서 리스트에 보시면 MySQL.Data 가 있을 겁니다. 체크해서 추가합니다.
▶ 우선 소스에서는 Connector 객체를 생성해야 하는데 MySqlConnection 클래스가 그것을 담당합니다. 그리고 생성자 함수의 인수로 연결 정보를 넘기면 됩니다.
l Server : 서버 IP 나 도메인주소
l Database : DB 명
l Uid : 사용자 로그인 ID
l Pwd : 암호명
using MySql.Data.MySqlClient; String strConn = "Server=localhost;Database=test;Uid=root;Pwd=123;"; MySqlConnection conn = new MySqlConnection(strConn);
▶ 이렇게 연결을 위한 객체인 MySqlConnection 이 만들어 졌으면 데이터를 저장, 수정, 삭제를 위한 기능을 만들어야 겠죠. 흔히 CRUD 라고 하는데 쿼리를 문자열로 만들어 전달해 주면 수행하는 클래스가 MySqlCommand 입니다. 리턴값을 받지 않는 INSERT, DELETE, UPDATE 는 MySqlCommand 를 사용하면 됩니다.
private void Insert() { try { conn.Open(); String sql = "INSERT INTO members (id, pwd, name) " + "VALUES ('gon', '111', '김삿갓')"; MySqlCommand cmd = new MySqlCommand(sql, conn); cmd.ExecuteNonQuery(); conn.Close(); } catch (Exception e) { Console.WriteLine(e.StackTrace); } }
▶ 다음은 조회입니다. 조회를 할 때 커넥션을 Open 하지 않고 비연결모드로 가져오기가 가능합니다. 조회를 담당하는 클래스는 MySqlDataAdapter 이며 DataSet 에 조회한
데이터를 담습니다. DataSet 에서 foreach 를 사용해 하나씩 꺼내 쓰면 되는 것이죠.
private void SelectData() { try { DataSet ds = new DataSet(); //MySqlDataAdapter 클래스를 이용하여 비연결 모드로 데이타 가져오기 string sql = "SELECT id,pwd,name FROM members"; MySqlDataAdapter adpt = new MySqlDataAdapter(sql, conn); adpt.Fill(ds, "members"); if (ds.Tables.Count > 0) { foreach (DataRow r in ds.Tables[0].Rows) { Console.WriteLine(r["name"]); } } } catch (Exception e) { Console.WriteLine(e.StackTrace); } }
'기타 언어 > C# & MFC' 카테고리의 다른 글
[C#] 자바스크립트에서 C# 함수호출시 에러, ObjectForScripting 클래스는 COM … (0) | 2015.05.31 |
---|---|
[C#] HashTable 사용방법과 예제 모음 (0) | 2015.02.24 |
[C#] 다중폼(WinForms MID) 자식윈도우 사이즈 조절하기 (0) | 2015.02.07 |
[C#] MDI 폼에서 자식폼이 열어 있을 때 앞으로 보내기 (0) | 2015.01.31 |
[C#] MySQL 데이터 저장시 한글이 깨질 때 (0) | 2015.01.03 |
[Visual C#] Environment 를 통해 시스템 정보, OS 버전알아오기 (0) | 2014.11.25 |
Visual C# 웹브라우저 WebBrowser 를 이용해 HTML 소스 가져오기 (1) | 2014.10.18 |
Visual C# 두개의 폼간 데이터 주고 받기위해 delegate, event 사용 (0) | 2014.10.14 |