C#連接數據庫及數據綁定
String Constr =@”server=(local)/NetSDK;”+”IntegratedSecurity=SSPI;”+”database=Northwind;”
String SQL=”select * from Employees”;
SqlConnection Conn=new SqlConnection(Constr);
sqlDataAdapter da = new SqlDataAdapter(SQL,Conn);
DataSet ds = new DataSet();
da.fill(ds,”Employees”);
textBox1.DataBindings.Add(“Text”,ds,”Employees.FirstName”);
textBox2.DataBindings.Add(“Text”,ds,”Employees.LastName”);
複雜數據綁定:
如:綁定到dataGrid1控件上:dataGrid1.SetDataBinding(ds,”Employees”);
或:dataGrid1.DataBindings.Add(“DataSource”,ds,”Employees”);
也可寫成:
Binding newBind = new Dinding(“Text”,ds,”Employees.FirstName”);
textBox1.DataBindings.Add(newBind);
同步控件與數據源:
先與前面一樣,連好數據庫,
再從Data選項卡中把DataSet拖到窗體上,並選擇第二個單行按鈕(Vntyped dataset)
BindingManagerBase bManager;
Form1_load事件:
連接到庫……
SqlDataAdapter da = new SqlDataAdapter(SQL,Conn);
da.fill(dataset1,”Employess”);
bManager = this.BindingContext[dataSet1,”Employess”];
Next按鈕,作用:顯示下一條記錄
bManager.position +=1;
back按鈕:
mManager.position -=1;
綁定到數組:
String[] carDetails = new string[]{“Mercedez”,”Black”,”e320”,”1999”,”$1million”};
textBox1.DataBindings.Add(“Text”,carDetails,null);
若要遍歷數組:
BindingManagerBase bManager = this.BindingContext[carDetails,null];
綁定到數據表:添加DataSet,並選擇無類型.
da.fill(dataSet1,”Employees”);
DataTable myTable = dataSet1.Tables[“Employees”];
ListBox1.DataSource = myTable;
listBox1.DisplayMember = “FirstName”;
textBox1.DataBindings.Add(“Text”,myTable,”FirstName”);
textBox2.DataBindings.Add(“Text”,myTable,”LastName”);
綁定到數據視圖:
da.fill(dataset1,”Employees”);
DataTable myTable = dataset1.Tables[“Employees”];
DataView dv = new DataView(myTable,”Country=’UK’”,”FirstName”,DataViewRowstate.CurrentRows);
上面表示從DataTable對象的表中選擇住在英國的所有僱員的姓名列。
TextBox1.DataBindings.Add(“Text”,dv,”FirstName”);
TextBox2.DataBindings.Add(“Text”,dv,”LastName”);