ASP.NET

27.ADO.NET - Binding

Godffs 2009. 9. 30. 19:06
반응형
바인딩(Binding) : 데이터 소스를 폼의 컨트롤과 연결하여 폼에 DB의 내용을 출력하는 기법
                          컨트롤과 DB과 연결되어 양방향으로 데이터가 오고 가는 것

DataBinding : 컨트롤에 대한 데이터 바인딩을 가져옴

Form1.Designer.cs

[그림27-1]


       private System.Windows.Forms.Label label1;

       private System.Windows.Forms.Label label2;

       private System.Windows.Forms.Label label3;

       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;


Form1.cs

namespace WinDataBinding

{

    public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

        }

 

        private DataSet ds; // 주소록 담을 그릇

        private void Form1_Load(object sender, EventArgs e)

        {

            SqlConnection con = new SqlConnection(

 "server=WINDOWS-XP\\SQLSERVER;database=AddressBook;uid=AddressBook;pwd=12345;");

 

            // DataAdapter사용 Connection Open, Close 생략 가능


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

 

            SqlDataAdapter da = new SqlDataAdapter(cmd);          

 

            ds = new DataSet();

 

            da.Fill(ds, "AddressBook"); // 채우기

 

            //[!] 윈폼 전용 바인딩 하기 : 컨트롤과 필드를 서로 연결

            // textBox1 Text 속성을 ds 담겨져 있는 AddressBook 테이블의 Name필드와 연결

            textBox1.DataBindings.Add("Text", ds, "AddressBook.Name");

            textBox2.DataBindings.Add("Text", ds, "AddressBook.Mobile");

            textBox3.DataBindings.Add("Text", ds, "AddressBook.Email");

        }

 

        private void button1_Click(object sender, EventArgs e)

        {

            BindingContext[ds, "AddressBook"].Position--; // 이전 레코드로 이동

        }

 

        private void button2_Click(object sender, EventArgs e)

        {

            BindingContext[ds, "AddressBook"].Position++; // 다음 레코드로 이동

        }

    }

}


결과화면

[그림27-2]



반응형