반응형
LocalDB(또는 MS SQLServer)에 연결해서, 테이블의 데이터를 가져와서 한 행씩 출력하는 코드입니다.
LocalDB와 MS SQL Server는 연결 문자만 다르고, 나머지 코드는 똑 같습니다.
예제 데이터베이스는 이 블로그에서 "예제 데이터베이스"로 검색해 보기 바랍니다.
프로젝트 생성
- Windows Forms 앱(.NET Framework)
- 리스트 박스 1개, 버튼 1개를 배치하고 버튼에 아래의 코드를 작성합니다.
using System;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace db_1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
string connectionString = @"Server=(LocalDB)\MSSQLLocalDb;database=haksa;integrated security=true";
SqlConnection conn = new SqlConnection(connectionString);
conn.Open();
string sql = "select * from student order by hakbun";
SqlCommand cmd = new SqlCommand(sql, conn);
SqlDataReader dr = cmd.ExecuteReader();
listBox1.Items.Clear();
while(dr.Read())
{
listBox1.Items.Add(dr["hakbun"].ToString() + "\t" +
dr["name"].ToString() + "\t" +
dr["tel"].ToString());
}
dr.Close();
conn.Close();
}
}
}
위 코드를 using 구문을 사용해서 아래와 같이 코딩할 수 있습니다. 더 추천되는 코드입니다.
using System;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace db_1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
string connectionString = @"Server=(LocalDB)\MSSQLLocalDb;database=haksa;integrated security=true";
using (SqlConnection conn = new SqlConnection(connectionString))
{
conn.Open();
string sql = "select * from student order by hakbun";
SqlCommand cmd = new SqlCommand(sql, conn);
using (SqlDataReader dr = cmd.ExecuteReader())
{
listBox1.Items.Clear();
while (dr.Read())
{
listBox1.Items.Add(dr["hakbun"].ToString() + "\t" +
dr["name"].ToString() + "\t" +
dr["tel"].ToString());
}
}
}
}
}
}
반응형
'C#' 카테고리의 다른 글
(C#) dataGridView의 행을 선택했을 때, 열(셀) 내용 가져와서 출력하기 (0) | 2023.04.19 |
---|---|
(C#) dataGridView에 데이터베이스 테이블 출력하기 (0) | 2023.04.19 |
(C#) DBConn 클래스를 사용해서 select 구문 실행하기 (0) | 2023.04.19 |
(C#) DBConn.cs: MS SQL Server, LocalDB 데이터베이스를 다루는 클래스 (0) | 2023.04.19 |
(C#) 암호화 모듈 MD5, SHA256 (1) | 2023.04.18 |