[C#] C# 윈폼을 이용하여 MSSQL 연동하는 방법
- C#/Windows Form
- 2018. 9. 27. 14:23
이번 포스팅에서는 C# 윈폼 환경에서 SQL Server 연동하는 방법에 대해서 알아보도록 하겠습니다.
지난번 오라클 11g 연동하는 방법에 대해서 글을 쓴 적이 있었는데, 이번 포스팅도 위와 크게 다르지 않기 때문에 아래 내용을 천천히 사진과 설명을 통하여 따라 하시면 쉽게 연동을 하실 수 있을 것이라 생각합니다.
저는 SQL Server 2014를 다운받아서 사용하였고, 이 글을 읽으시는 분들도 기본적으로 SQL Server Management Studio가 모두 다운 받아져 있다고 가정하에 글을 쓰도록 하겠습니다.
제일 먼저, 아래와 같이 기본 윈도우 폼 프로젝트를 하나 생성하여 주시기 바랍니다.
그리고 DataGridView 컨트롤을 아래와 같이 배치해 주시기 바랍니다.
(참고로 DataGridView 속성의 Name : DataGridView1)
여기까지 하셨다면, 이제 Test할 데이터베이스를 SQL Management Studio에서 하나를 생성해 주시고 아래와 같이 Student 테이블을 생성해 주시기 바랍니다.
(참고로 저 같은 경우는 Database Name : BOEMBOEMJOJO, Table Name : Student)
그리고 나서 DBHelper 라는 클래스를 선언하여 아래와 같이 코드를 작성해 주시기 바랍니다.
[DBHelper.cs]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 |
using System; using System.Collections.Generic; using System.Data.SqlClient; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms;
namespace ConfigTest { public class DBHelper { //커넥션 객체 private static SqlConnection conn = null; public static string DBConnString { get; private set; }
public static bool bDBConnCheck = false;
private static int errorBoxCount = 0;
/// <summary> /// 생성자 /// </summary> public DBHelper() { }
public static SqlConnection DBConn { get { if (!ConnectToDB()) { return null; } return conn; } }
/// <summary> /// Database 접속 시도 /// </summary> /// <returns></returns> public static bool ConnectToDB() { if (conn == null) { //서버명, 초기 DB명, 인증 방법 DBConnString = String.Format("Data Source=({0});Initial Catalog={1};Integrated Security={2}; Timeout=3", "local", "BOEMBOEMJOJO", "SSPI");
conn = new SqlConnection(DBConnString); }
try { if (!IsDBConnected) { conn.Open();
if (conn.State == System.Data.ConnectionState.Open) { bDBConnCheck = true; } else { bDBConnCheck = false; } } } catch (SqlException e) { errorBoxCount++; if (errorBoxCount == 1) { MessageBox.Show(e.Message, "DBHelper - ConnectToDB()"); } return false; } return true; }
/// <summary> /// Database Open 여부 확인 /// </summary> public static bool IsDBConnected { get { if (conn.State != System.Data.ConnectionState.Open) { return false; } return true; } }
/// <summary> /// Database 해제 /// </summary> public static void Close() { if (IsDBConnected) DBConn.Close(); } } }
|
그리고 나서 From.cs에 아래와 같이 코드를 작성해 주시기 바랍니다.
[Form.cs]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Data.SqlClient; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms;
namespace ConfigTest { public partial class Form1 : Form { private DataTable date_table = null;
public Form1() { InitializeComponent();
try { lock (DBHelper.DBConn) { if (!DBHelper.IsDBConnected) { MessageBox.Show("Database 연결을 확인하세요."); return; } else { //DB 연결이 되고 난 후.. SqlDataAdapter adapter = new SqlDataAdapter( "Select * FROM Student", DBHelper.DBConn); date_table = new DataTable();
try { adapter.Fill(date_table); dataGridView1.DataSource = date_table;
//DataGridView 사이즈에 맞게 자동 조정 dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill; } catch (Exception e) { MessageBox.Show(e.Message, "DataGridView_Load Error"); } DBHelper.Close(); } } } catch (ArgumentNullException ane) { MessageBox.Show(ane.Message, "DataGridView_Load Error"); } } } }
|
그리고 실행을 시키시면 아래와 같이 실행 결과 화면이 뜨게 됩니다.
[실행 결과 화면]
이렇게 해당 데이터베이스와 제대로 연동하여 내용을 DataGridView 에 알맞게 뿌려주는 것을 확인할 수 있습니다.
천천히 따라하시면 누구나 쉽게 적용 하실거라 생각합니다~~
감사합니다.^^
'C# > Windows Form' 카테고리의 다른 글
C# 윈폼 DataGridView 데이터 조회, 추가, 삭제하는 방법 (16) | 2018.11.10 |
---|---|
[C#] DataGridView 데이터 수정한 후 DB 테이블에 Update 하는 방법 (1) | 2018.11.04 |
[C#] 윈폼 크로스 스레드 해결 방법 (0) | 2018.09.19 |
C# 윈폼을 이용하여 Oracle(오라클) 11g 연동 하는 방법 (19) | 2018.09.10 |
C# Windows Form을 이용하여 INI 파일 생성하는 방법 (1) | 2018.07.12 |
이 글을 공유하기