본문 바로가기
개발 이야기/C# 이야기

C# MySqlConnection 사용하여 Mysql 접속하기 (ODBC를 등록하지 않고 DB 사용, MySqlCommand, MySqlDataReader, MySqlCommand)

by 런던살자 2019. 6. 18.

안녕하세요 마블랑입니다. 

 

윈도우 프로그램을 만들때 데이터베이스에 접속하여 테이블 데이터를 가져오려면 ODBC를 꼭 설정해야하는 줄 알았습니다.

 

하지만 단지 접속 정보만 가지고 있다면 굳이 ODBC를 등록하지 않아도 DB에 접속할수 있는것을 알게 되었어요 ^^

 

ODBC를 등록하지 않아도 되니 배포할때 더 간편해졌습니다.

 

 

MySqlConnection 을 사용하여 데이터를 가져올수 있는데요. 이 클래스를 사용하려면 Mysql DLL 을 참조 해야합니다. 

그리고 using도 추가해줍니다.  ( using MySql.Data.MySqlClient )

 

예제 소스는 버튼에 구현을 해두었지만 구현 성향에 맞춰 사용하시면 될거 같습니다. 

 

예제에는 에러처리가 되어 있으니 바로 사용하실수 있을겁니다.^^

 

 

 

MySqlConnection 객체생성시 매개변수를 접속정보로 수정하여 사용하시기 바랍니다.

            string strSql = "SELECT * FROM MYSQL_TEMP";

            MySqlConnection conn = new MySqlConnection("MySql Connect Information");
            try
            {
                conn.Open();

                MySqlCommand cmd = new MySqlCommand(strSql, conn);

                MySqlDataReader rdr = cmd.ExecuteReader();

                while (rdr.Read())
                {
                    string id= rdr["COLUMN_1"].ToString();
                    string name = rdr["COLUMN_2"].ToString();
                    string address = rdr["COLUMN_3"].ToString();
                    string memo = rdr["COLUMN_4"].ToString();
                }
            }
            catch (Exception err)
            {
                MessageBox.Show(err.Message);
            }
            finally
            {
                conn.Close();
            }

 

추가로 Insert, Update, Delete 구문 예제소스도 추가하였습니다.

 

MySqlCommand 에 쿼리문은 수정하여 사용해야합니다 ^^

            MySqlConnection conn = new MySqlConnection("MySql Connect Information");
            try
            {
                conn.Open();

                MySqlCommand cmd = new MySqlCommand("SQL Query", conn);
                cmd.ExecuteNonQuery();
            }
            catch (Exception err)
            { 
                MessageBox.Show(err.Message);
            }
            finally
            {
                conn.Close();
            }

 

요즘은 데이터가 중요시 되는 세상이다 보니 데이터베이스 연동없이 개발을 한다는 것은 많은 제약이 있을듯 합니다.

 

다른 데이터베이스 접속이 많겠지만 간단하면 할수록 좋으니 많이 활용하시기 바랍니다 ^^

 

이상 마블랑이었습니다.

댓글