* "윈폼"에서 '새 프로젝트 만들기'로 프로젝트 실행



==> Form1.cs [디자인]
 

  

 

-------------------------------------------------------------------------------------

  

==> Form1.cs 소스

 

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using System.Data.SqlClient;

 

namespace WinCommandBuilder

{

    public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

        }

 

        private SqlDataAdapter da;

        private DataTable dt;

        private void Form1_Load(object sender, EventArgs e)

        {

            SqlConnection con = new SqlConnection(

                "server=.;database=AddressBook;uid=AddressBook;pwd=6750440;");

 

            SqlCommand cmd = new SqlCommand("Select * From AddressBook", con);

 

            da = new SqlDataAdapter(cmd);

            dt = new DataTable("AddressBook");

 

            // Select를 기준으로 Insert, Update, Delete문 자동 생성 : PK(Primary Key)가 있어야 함

            SqlCommandBuilder scb = new SqlCommandBuilder(da);

 

 

            da.Fill(dt);

 

            this.dataGridView1.DataSource = dt;

        }

 

        private void button1_Click(object sender, EventArgs e)

        {

            da.Update(dt); // CRUD 실행

        }

    }

}

 

 

// SqlCommandBuilder 클래스 - 연결된 SQL Server 데이터베이스에서 DataSet의 변경 내용을 조정하는 데 사용되는 단일 테이블 명령을 자동으로 생성합니다. 이 클래스는 상속될 수 없습니다.

 

// "SqlCommandBuilder클래스"사용은 10만건 이하의 비교적 적은 데이터일 때 사용한다.(왜냐면 성능때문에...)

// SqlDataAdapter클래스를 SqlCommandBuilder클래스에 담아서 넣으면 Select문을 기준으로 입력(Insert) / 수정(Update) / 삭제(Delete)할 수 있다.

// SqlCommandBuilder클래스를 사용해서 SqlDataAdapter클래스에서의 긴 코드를 짧게 줄여쓸 수 있다.

  

 

-------------------------------------------------------------------------------------

  

[실행결과]

"SqlCommandBuilder 클래스"를 사용하여 실행한 결과는 "SqlDataAdapter 클래스"를 사용하여 실행한 결과와 같다. 즉,"SqlCommandBuilder 클래스"는 "SqlDataAdapter 클래스"와 동일한 기능을 한다.

--> 데이터 변경 실행 전 [SQL Server]의 [dbo.AddressBook]테이블의 화면
 





--> "폼"의 "dataGridView"에서 데이터를 '티파니'에서 '이효리'로 수정하고 "변경내역 반영하기"버튼을 눌러 데이터를 변경




--> 데이터 변경 실행 후 [SQL Server]의 [dbo.AddressBook]테이블의 화면.(첫번째 레코드가 '티파니'에서 '이효리'로 변경된 것을 볼 수 있다.)
 

 

Posted by holland14
: