C#에서 Mysql DB를 연동하는 코드를 작성해 보도록 하겠습니다.
Mysql설치가 필요하신 분들은,
아래 링크를 확인해주세요.
Mysql DB에 테이블 생성하기
DB연동에 앞서 테이블을 먼저 생성해보겠습니다.
Mysql Workbench에서 빠르게 생성해보도록 하겠습니다.
coding32 Database를 하나 생성하고,
Co32Table명을 갖는 table을 생성했습니다.
그럼 이제 C#에서 코드를 구현해보겠습니다.
Mysql.Data.dll import
먼저, dll파일을 하나 import합니다.
도구-> nuget패키지관리자->솔루션용 nuget패키지 관리자에서 Mysql을 검색해줍니다.
Mysql.Data를 선택한 후 프로젝트에 적용해줍니다.
적용이 완료되었다면, 아래와 같이 Mysql.Data 패키지가 import되어 있는 것을 확인 할 수 있습니다.
Conntection String
C#에서 Mysql Connection String은 아래와 같습니다.
저 같은 로컬pc에 Mysql을 설치했기 때문에 IP는 localhost로 설정했습니다.
원격 서버로 접근해야되는 경우, 해당 부분을 원격서버 ip로 설정해주시면 됩니다.
Server=서버아이피;Port=포트;Database=데이터베이스명;Uid=접속계정아이디;Pwd=패스워드;
MySqlConnection connection = new MySqlConnection("Server=localhost;Port=3306;Database=coding32;Uid=root;Pwd=1111")
C#에서 Mysql Insert 하기
using System;
using MySql.Data.MySqlClient;
namespace Coding32
{
class Program
{
static void Main(string[] args)
{
using (MySqlConnection connection = new MySqlConnection("Server=localhost;Port=3306;Database=coding32;Uid=root;Pwd=1111"))
{
string insertQuery = "INSERT INTO Co32table(idx,header,body) VALUES(3,'header1','body2')";
try//예외 처리
{
connection.Open();
MySqlCommand command = new MySqlCommand(insertQuery, connection);
// 만약에 내가처리한 Mysql에 정상적으로 들어갔다면 메세지를 보여주라는 뜻이다
if (command.ExecuteNonQuery() == 1)
{
Console.WriteLine("인서트 성공");
}
else
{
Console.WriteLine("인서트 실패");
}
}
catch (Exception ex)
{
Console.WriteLine("실패");
Console.WriteLine(ex.ToString());
}
}
}
}
}
DB조회 결과 : 정상적으로 인서트 된 것을 확인 할 수 있음
C#에서 Mysql Select하기
MysqlCommand객체를 통해 쿼리를 수행하고, (cmd.ExecuteReader() )
결과를 MySqlDataReader를 통해 읽도록 합니다.
public static void SelectMysql()
{
using (MySqlConnection connection = new MySqlConnection("Server=localhost;Port=3306;Database=coding32;Uid=root;Pwd=1111"))
{
try//예외 처리
{
connection.Open();
string sql = "SELECT * FROM Co32table";
//ExecuteReader를 이용하여
//연결 모드로 데이타 가져오기
MySqlCommand cmd = new MySqlCommand(sql, connection);
MySqlDataReader table = cmd.ExecuteReader();
while (table.Read())
{
Console.WriteLine("{0} {1}", table["idx"], table["header"],table["body"]);
}
table.Close();
}
catch (Exception ex)
{
Console.WriteLine("실패");
Console.WriteLine(ex.ToString());
}
}
}
수행 결과 : 정상적으로 조회가 되었음.
'C# > 기본' 카테고리의 다른 글
C# HttpClient 비동기 웹 요청 구현하기 (0) | 2019.11.03 |
---|---|
[C#] async, await 비동기 프로그램 작성하기 (0) | 2019.11.02 |
[C#] visual studio 2019 파일 더블 클릭으로 열게 하기 (0) | 2019.11.01 |
[C#] 문자열 byte로 변환하기 (1) | 2019.10.25 |
[C#] 문자열 자르기 붙이기 split join substring (0) | 2019.10.25 |
최근댓글