学习笔记——第十周学习笔记

Posted 我是墩

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了学习笔记——第十周学习笔记相关的知识,希望对你有一定的参考价值。

一、 使用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);

}

}

}

 

 

以上是关于学习笔记——第十周学习笔记的主要内容,如果未能解决你的问题,请参考以下文章

20179223《Linux内核原理与分析》第十一周学习笔记

20182330 第十周学习总结

第十周java学习总结

Python学习笔记第二十周

每周学习进度第十周

Linux 第十周上课笔记 DNS集群的部署