-
C# Textbox를 mssql에 저장닷넷/WinForms 2016. 7. 5. 13:42반응형
1> Form Design
private System.Windows.Forms.Label label1; //방번호
private System.Windows.Forms.Label label2; //이름
private System.Windows.Forms.Label label3; //외박사유
private System.Windows.Forms.Label label4; //외박일정
private System.Windows.Forms.DateTimePicker dateTimePicker1; //외박시작일
private System.Windows.Forms.DateTimePicker dateTimePicker2; //외박만료일
private System.Windows.Forms.Label label5; //~
private System.Windows.Forms.TextBox textBox1;
private System.Windows.Forms.TextBox textBox2;
private System.Windows.Forms.TextBox textBox3;
private System.Windows.Forms.Button button1; //저장
private System.Windows.Forms.Button button2; //닫기2>
using System.Data.SqlClient;
저장버튼을 누르면 DB 연결하고, Textbox에 있는 내용을 DB에 저장할 것이므로
저장버튼 두번클릭하거나 F7 눌러서 코딩창을 연다.
거기에 아래와 같이 작성한다.
SqlConnection conn = new SqlConnection("server=localhost;database=DB이름;user id=아이디;password=패스워드;");
//DB 연결 변수
SqlCommand comm = new SqlCommand();
//명령 변수
conn.Open();
//DB 열기
SqlCommand comm = new SqlCommand(CommandString,conn);
보통은 명령변수를 이런식으로 하지만 TextBox에 있는 내용을 넣을 것이므로
CommandString은
comm.CommandText = "INSERT INTO WBdate(UserName, RoomNum, StartDate, FinalDate, Sayu) VALUES (@name, @roomn, @startd, @finald, @wsa) ";
이걸로 대체하고,
parameter에 값을 주는 식으로 해서
comm.Parameters.Add("@roomn", SqlDbType.Text).Value = textBox1.Text;
comm.Parameters.Add("@name", SqlDbType.Text).Value = textBox2.Text;
comm.Parameters.Add("@wsa", SqlDbType.Text).Value = textBox3.Text;
comm.Parameters.Add("@startd", SqlDbType.DateTime).Value = dateTimePicker1.Value;comm.Parameters.Add("@finald", SqlDbType.DateTime).Value = dateTimePicker2.Value;
작성한다.
여기서 주의할 것은 CommandText 다음에 파라미터에 값을 넣는 것으로 작성해야 한다.
순서 바뀌면 명령대로 query 실행이 안된다.
그 다음에
conn은
comm.Connection = conn;
comm.ExecuteNonQuery();
conn.Close();
이렇게 끝낼 수도 있고,
명령대로 DB에 Text 값을 저장하는 것이 성공한 후와 실패했을 때 다르게 메시지박스를 띄우려면
try catch를 써서
try
{
comm.ExecuteNonQuery();MessageBox.Show("저장 완료", "종료", MessageBoxButtons.OK, MessageBoxIcon.None);
textBox1.Text = "";
textBox2.Text = "";
textBox3.Text = "";
}
catch (Exception ex)
{
MessageBox.Show("저장 실패", "종료", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
finally
{
conn.Close();
conn.Dispose();
}이런식으로 작성한다.
반응형'닷넷 > WinForms' 카테고리의 다른 글
C# 컨트롤 사이즈에 맞춰서 폰트 크기 자동조절 (0) 2016.08.12 C# 폼 이동 방법 (0) 2016.07.19 C# WindowsForm에서 배경 투명하게 하는 방법 (0) 2016.07.19 C# ComboBox 아이템 추가 (0) 2016.07.05 C# TextBox 자동 완성 (0) 2016.07.05