学习笔记——第十周学习笔记
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.Add(majorNode);
foreach(Class studentClass in major.Class)
{
TreeNode classNode= new TreeNode();
classNode.Text=studentClass.Name;
classNode.Tag=studentClass.No;
majorNode.Nodes.Add(classNode);
}
}
}
以上是关于学习笔记——第十周学习笔记的主要内容,如果未能解决你的问题,请参考以下文章