컨트롤과 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