Blog Content

    티스토리 뷰

    27.ADO.NET - Binding

    반응형
    바인딩(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]



    반응형

    'ASP.NET' 카테고리의 다른 글

    29.ADO.NET - Linq To SQL  (0) 2009.09.30
    28.ADO.NET - Linq To DataSet  (0) 2009.09.30
    26.ADO.NET - SqlCommandBuilder  (0) 2009.09.30
    25.ADO.NET - DataAdapter  (0) 2009.09.30
    24.ADO.NET - CommandTest  (0) 2009.09.30

    Comments