1. 程式人生 > >學習筆記——第十周學習筆記

學習筆記——第十周學習筆記

public 數據 save 私有 birt 全局 後臺 sel 定義

一、 使用ADO.NET改寫控件載入信息的代碼

 1 EduBase eduBase=new EduBase();
 2 var student=(from s in eduBase.student
 3 where s.No=="3120707001"
 4 select s).FirstOrDefault();
 5 var classes=from c in eduBase.Class
 6 select c;
 7 this.cmb_Class.DataSource=Class;
 8 this.cmb_Class.DisplayMember="Number";
 9 this.cmb_Class.ValueMember="
No"; 10 if(student!=null) 11 this.txb_No.Text=student.No ; 12 this.txb_Name.Text=student.Name ; 13 this.rdb_Male.Checked=student.Gender; 14 this.rdb_Female.Checked=!student.Gender; 15 this.dtp_BirthDate.Value=student.BirthDate; 16 this.cmb_Class.SelectedValue=student.ClassNo; 17 this.txb_Speciality.Text=student.Speciality;

一、 改寫數據網格(實現批量修改功能)

1、 載入數據

用可視化操作導入數據庫以及數據表,在載入控件中輸入以下代碼

1   Edubase edubase=new Edubase();
2   var students=from s  in edubase.Student;
3              Select s;   
4   this.dgv_Score.DataScorce=Students;  //將數據網格視圖的數據源設為學生數據表;

1、 提交修改後的數據

(1)提交修改後的數據只需用一個語句:eduBase.SaveChanges();

(2)註意:因EduBase

在載入控件和提交控件都需要用到,所以應定義為全局變量,即定義在方法體之外,可定義為私有或者公有

1 namespace Ex51_Table_Adapter
2 {
3     
4     public partial class frm_StudentTable : Form
5     {
6       Private EduBase EduBase;

(3)EdeBase定義在方法體外後,載入控件的代碼應更改為:

1 EduBase eduBase=new EduBase ();
2  this.EduBase=eduBase;
3      var students=from s  in edubase.Student;
4              Select s;   
5   This.dgv_Score.DataScorce=Students;

(4)保存修改後的信息

1 int rowAffected=this.EduBase.SaveChanges();

三、 改寫樹形圖

1、 前面的例子中,用代碼載入時後臺數據庫表格中的外鍵約束沒有申明,而是在前端的代碼中實現,而可視化時,我們將這些代碼都省去了,所以在後端的數據庫中應當定義好表格之間的關聯以及外鍵約束

2、 實現表格間的關系

1 EduBase eduBase = new EduBase();
2 var departments=from  d  in Department.Include(“Major.Class”)  // 使用Include方法實現兩個表格之間的關聯
3               select d;

3、 形成樹形結點

 1 this trv_EductionUnit.Node.Clear();
 2 foreach(Department department in departments)
 3 {
 4   TreeNode departmentNode = new TreeNode();
 5  departmentNode.Text=department.Name;
 6  this.trv_ EductionUnit.Nodes.Add(departmentNode);
 7  foreach(Major major in department.Major)
 8    {
 9       TreeNode majorNode= new TreeNode();
10       majorNode.Text=major.Name;
11       departmentNode.Nodes.Add(majorNode);
12       foreach(Class studentClass  in major.Class)
13         {
14            TreeNode  classNode= new TreeNode();
15            classNode.Text=studentClass.Name;
16            classNode.Tag=studentClass.No;
17            majorNode.Nodes.Add(classNode);
18 }
19 }
20 }

學習筆記(八)

——ORM的應用

一、 使用ADO.NET改寫控件載入信息的代碼

EduBase eduBase=new EduBase();
var student=(from s in eduBase.student
where s.No=="3120707001"
select s).FirstOrDefault();
var classes=from c in eduBase.Class
select c;
this.cmb_Class.DataSource=Class;
this.cmb_Class.DisplayMember="Number";
this.cmb_Class.ValueMember="No";
if(student!=null)
this.txb_No.Text=student.No ;
this.txb_Name.Text=student.Name ;
this.rdb_Male.Checked=student.Gender;
this.rdb_Female.Checked=!student.Gender;
this.dtp_BirthDate.Value=student.BirthDate;
this.cmb_Class.SelectedValue=student.ClassNo;
this.txb_Speciality.Text=student.Speciality;

二、 改寫數據網格(實現批量修改功能)

1、 載入數據

用可視化操作導入數據庫以及數據表,在載入控件中輸入以下代碼

Edubase edubase=new Edubase();

var students=from s in edubase.Student;

Select s;

this.dgv_Score.DataScorce=Students; //將數據網格視圖的數據源設為學生數據表;

2、 提交修改後的數據

(1)提交修改後的數據只需用一個語句:eduBase.SaveChanges();

(2)註意:因EduBase在載入控件和提交控件都需要用到,所以應定義為全局變量,即定義在方法體之外,可定義為私有或者公有

namespace Ex51_Table_Adapter

{

public partial class frm_StudentTable : Form

{

Private EduBase EduBase;

…….

(3)EdeBase定義在方法體外後,載入控件的代碼應更改為:

EduBase eduBase=new EduBase ();

this.EduBase=eduBase;

var students=from s in edubase.Student;

Select s;

This.dgv_Score.DataScorce=Students;

(4)保存修改後的信息

int rowAffected=this.EduBase.SaveChanges();

三、 改寫樹形圖

1、 前面的例子中,用代碼載入時後臺數據庫表格中的外鍵約束沒有申明,而是在前端的代碼中實現,而可視化時,我們將這些代碼都省去了,所以在後端的數據庫中應當定義好表格之間的關聯以及外鍵約束

2、 實現表格間的關系

EduBase eduBase = new EduBase()

var departments=from d in Department.Include(Major.Class) // 使用Include方法實現兩個表格之間的關聯

select d;

3、 形成樹形結點

this trv_EductionUnit.Node.Clear();

foreach(Department department in departments)

{

TreeNode departmentNode = new TreeNode();

departmentNode.Text=department.Name;

this.trv_ EductionUnit.Nodes.Add(departmentNode);

foreach(Major major in department.Major)

{

TreeNode majorNode= new TreeNode();

majorNode.Text=major.Name;

departmentNode.Nodes.AddmajorNode;

foreach(Class studentClass in major.Class)

{

TreeNode classNode= new TreeNode();

classNode.Text=studentClass.Name;

classNode.Tag=studentClass.No;

majorNode.Nodes.Add(classNode);

}

}

}

學習筆記——第十周學習筆記