c# mysql maria db connect 연동

nuget

프로젝트를 생성한후 mysql.data를 설치해야해요.

참조로 추가해줄수 있고 nuget으로 설치가 가능해요. nuget에서 mysql검색하면 나오는데 버전은 상관없는것 같아요. 최신버전을 설치해줘요. 

설치후 mysql클래스 파일을 하나 생성해요. 

using MySql.Data.MySqlClient;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace find_chart
{
    class Mysql_util
    {
        private static Mysql_util instance = new Mysql_util();
        public static Mysql_util Instance
        {
            get
            {
                return instance;
            }
        }
        String connectionString;
        public Mysql_util()
        {
            String database = "연동db";
            String server = "localhost";
            String user = "내아디";
            String password = "코로나19";
            connectionString = "server="+ server 
                            + ";user="+ user 
                            + ";database="+ database 
                            + ";password="+ password;
            
        }

        public Boolean DB_INSERT(String sql)
        {

            var connection = new MySqlConnection(connectionString);
            Boolean return_value=false;
            try
            {
                Console.WriteLine("MySQL DB 연결 중...");
                connection.Open();
                MySqlCommand mySqlCommand = new MySqlCommand(sql, connection);
                if(mySqlCommand.ExecuteNonQuery() == 1)
                {
                    return_value = true;
                }                
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
            }
            connection.Close();
            return return_value;
        }
        public DataTable DB_SELECT(String sql)
        {
            var connection = new MySqlConnection(connectionString);
            Console.WriteLine("connectionString : " + connectionString);
            var mySqlDataTable = new DataTable();
            try
            {
                Console.WriteLine("SQL : " + sql);
                Console.WriteLine("MySQL DB 연결 중...");
                connection.Open();
                MySqlCommand mySqlCommand = new MySqlCommand(sql, connection);
                MySqlDataReader mySqlDataReader = mySqlCommand.ExecuteReader();
                mySqlDataTable.Load(mySqlDataReader);

                
                StringBuilder output = new StringBuilder();
                foreach (DataColumn col in mySqlDataTable.Columns)
                {
                    output.AppendFormat("{0} ", col);
                }
                output.AppendLine();
                foreach (DataRow page in mySqlDataTable.Rows)
                {
                    foreach (DataColumn col in mySqlDataTable.Columns)
                    {
                        output.AppendFormat("{0} ", page[col]);
                    }
                    output.AppendLine();

                }
                Console.WriteLine(output.ToString());

                mySqlDataReader.Close();
            }
            catch (Exception ex)
            {   
                Console.WriteLine(ex.ToString());
            }
            connection.Close();
            return mySqlDataTable;
        }
    }
}

 

mysql_util 이라고 생성했어요. SELECT문과 UPDATE문을 사용할수 있게 만들었어요. 

사용할 폼에서 선언해요. 

Mysql_util mysql_util = Mysql_util.Instance; 

그리고 한번 테스트를 해보았어요. 폼에서 특정 검색언어를 받아서 조회해서 화면에 출력하는것이에요. 

쿼리는 이렇게 작성해서 테스트 해보았어요. 

 String sql = "SELECT * FROM tb_member WHERE uid = '" + input_text+"'";

var mySqlDataTable = mysql_util.DB_SELECT(sql);
StringBuilder output = new StringBuilder();
            String v_name = "손님";
            foreach (DataRow page in mySqlDataTable.Rows)
            {
                foreach (DataColumn col in mySqlDataTable.Columns)
                {
                    output.AppendFormat("{0} ", page[col]);
                }
                //DataColumn col = new DataColumn("uname");
                v_name = page["uname"].ToString();
                output.AppendLine();

            }
            Console.WriteLine(output.ToString());

출력물

출력이 잘되고 있네요. 

 

블로그 이미지

은호아빠

여행, 맛집, 일상, 프로그래밍, 개발자, 윈도우, 웹, jsp, spring, db, mysql, oracle, c#

,