C#에서 MySQL 연동 ( VC2008 기준 )

프로그래밍/C# 2008/04/29 13:09

C#에서 MySQL을 연동하기 위해서 기본적으로 선행해야 될것들에
대한 짧은 정리

mysql org 사이트의 net관련 Connecter를 다운로드하여 설치한다.
http://dev.mysql.com/downloads/connector/net/5.2.html

관련 프로젝트에서 Project(프로젝트) -> Add Reference(참조추가) 에서
.NET 탭에서  MySQL.Data 를 추가한다.


실제로 프로그래밍을 위한 문서와 샘플은 다음의 디렉토리에 있다.
Program Files -> MySQL ->MySQL Connecter -> Document
Program Files -> MySQL ->MySQL Connecter -> Samples

접속의 예)
private MySqlConnection  conn;
private void connectBtn_Click(object sender, System.EventArgs e)
 {
  if (conn != null)
   conn.Close();

  string connStr = String.Format("server={0};user id={1}; password={2}; database=mysql; pooling=false",
   server.Text, userid.Text, password.Text );
// 코넥션 스트링을 외부텍스트콘트롤 server, userid , password 의
text값을 이용하여 생성
.

  try
  {
   conn = new MySqlConnection( connStr ); // 코넥션 스트링으로 새로운 코낵션생성
   conn.Open(); // 접속

   GetDatabases();
  }
  catch (MySqlException ex) // 익섹션처리는 MySqlException으로 정의
  {
   MessageBox.Show( "Error connecting to the server: " + ex.Message );
  }
 }

명령의 실행의 예)
private void GetDatabases()
 {
  MySqlDataReader reader = null;

  MySqlCommand cmd = new MySqlCommand("SHOW DATABASES", conn);
  try
  {
   reader = cmd.ExecuteReader();
   databaseList.Items.Clear();
   while (reader.Read())
   {
    databaseList.Items.Add( reader.GetString(0) ); // 리스트콘트롤에 결과값을 추가함
   }
  }
  catch (MySqlException ex)
  {
   MessageBox.Show("Failed to populate database list: " + ex.Message );
  }
  finally
  {
   if (reader != null) reader.Close();
  }
 }

위 소스는 샘플 디렉토리의 샘플소스에서 발췌하였고 , 주석은 설명을 위해
추가작성함.

top