学生管理系统(简易)7/26
实体层在三层架构中的地位:
1.实体对象实际上是对应着数据库里的每张表的,我们把表里的字段封装在1个实体对象里 当你想用哪个字段 你就就通过该实体对象的get() set() 把那个字段提取出来 这比你临时创建1个变量要灵活的多 而且便于程序的维护和扩展.在实际的3层结构开发中,专门有个实体层,他的作用就是便于层和层之间的数据传递 ;
2.实体体现了面向对象程序开发的思想,把大量的数据进行封装 然后传递.当然 如果只是1,2个参数,那么传递实体或者传递变量都可以 。
比如你想查询某个学号的学生信息,那么你完全就可以以ID为参数传下去 就没必要把他再封装到实体对象里;
值与引用的区别:
将一个变量作为参数进行传递,本质是传栈空间的存储内容;
if (reader.Read()){ per = new MODEL.Person(); ** // 如果有数据,就创建对象,一行数据就对应着 一个实体类对象 }//读取一行记录,从第一行开始,if()的作用是最多一行数据
return comm.ExecuteReader(CommandBehavior.CloseConnection);//中的CommandBehavior.CloseConnection 可以用作关闭通道的用途;
从数据库表中读取的数据到c#里面都会被做一层封装:1.如果是具体的值,就封装为object, 如果是null值就被封装为DBNull,这种类型的值不方便用户后期操作,所以我们需要将这些类型的值转换为面向对象的数据---实体类对象,同时要明确,一行数据就对应着一个实体类对象,对象里面,包含了,name,cid....这些列内容,再将取出来的数据,object转换成值类型;
例:
per.name=reader["name"].tostring();
params 构造函数声明数组 而不知道数组长度 用的
在方法声明中的 params 关键字之后不允许任何其他参数,并且在方法声明中只允许一个 params 关键字。
params是指可变参数,它会根据调用方法的实参值生成一具对应长度的数组,如:没有传递实参值,那么就相当于SqlParameter[] p=new SqlParameter[0];如果传递了参数,那么就相当于SqlParameter[] p=new SqlParameter[]{p,p2,p3,p4};强调:params只能修饰数组
一般是存在于方法声明当中
例如: public static void UseParams(params int[] list){}
public static void UseParams2(params object[] list) {}
public static SqlDataReader ExecuteReader(string sql,params SqlParameter[] ps){}
注意:
cmd.Parameters的Add方法是增加一个参数,增加多个参数的的时候使用一个foreach循环而已
cmd.Parameters的AddRange方法是增加一个参数的数组
配置文件的应用:
引用中选择框架,找到System.Configuration这个选项,选择引用;
在需要调用连接字符串的类中加入:readonly static string constr = System.Configuration.ConfigurationManager.ConnectionStrings["constr"].ConnectionString;
最中要的是在UI层的配置文件App.config中添加下面的代码:
<connectionStrings>
<add name="constr" connectionString="Data Source=.;Initial Catalog=ItcastSIM;Integrated Security=True"/>
</connectionStrings>
当需要修改数据库时候,使用配置文件可以避免导致程序出错,若需要修改数据库,则直接将配置文件找到打开后修改便可;
sqlHelp类的出现,是为了将重复的代码,封装成一个类对象,然后需要的时候就直接调用到该类中的方法,例如sqlDataReader reader=sqlHelp.ExecuteReader(comm,p,p2);
转载于:https://www.cnblogs.com/backpacker-lzf/p/4677278.html
学生管理系统(简易)7/26相关推荐
- Java mysql学生管理系统(简易)源
学校要求搞了一个小项目.实习生写的代码还有很多不足,但是基本功能都实现 懂得都懂,还缺少优化!各位可以自己加功能 (想要完整代码直接拖到下面复制) 1.第一步搭建mysql 首先我是采用了小皮面板8. ...
- Java09-day09【ArrayList(概述、构造方法、常用方法、遍历)、简易学生管理系统】
java零基础入门到精通(2019版)[黑马程序员] 视频+资料:[链接:https://pan.baidu.com/s/1MdFNUADVSFf-lVw3SJRvtg 提取码:zjxs] &qu ...
- 制作基于springboot的简易学生管理系统(详细)
制作基于springboot的简易学生管理系统(详细) 基于书本与百度创作,内容简易,请多多指教( ̄▽ ̄)/ 设计一个简易学生管理系统 所需环境 创建一个springboot项目 设计数据库 配置Gr ...
- java学生管理系统(简易)(三)---教师端的登录主页面
教师端的登录界面就比较清晰了...可能就我自己认为,以为前面写的太乱了...蒙圈 // 学会了先布局,在完善部分代码,嘤嘤嘤...之前那个学生的感觉凉凉啊~ // 有些代码中可能有main函数,有些没 ...
- python制作学生管理系统_Python——面向对象,简易学生信息管理系统
一.概述 1.1涉及到的知识点 项目开发:创建项目,创建包,导入包: 面向对象:静态方法,继承,内置函数,自定义函数: 数据类型:列表,字典,字符串.列表.字典的转换和自动生成导向: 异常处理:捕获异 ...
- c语言实现学生二科成绩的单链表,c++链表实现学生成绩管理系统(简易版)
#include using namespace std; typedef struct student{ int id;//学号 string sex; string name; int cpp;/ ...
- C#简易学生管理系统
添加3个类,分别实现 IComparer接口,实现对Student类的三个字段的排序. 1.学生类:学号.姓名.年龄 2.请选择:1.添加学生信息.2.删除学生信息 2.查询学生信息. 3.重复的学号 ...
- 用代码证明自己闲的蛋疼(四)——简易坑爹版学生管理系统
众所周知,学生管理系统一直频繁的出没在我们的毕业设计当中. 当然,其大多数都是基于BS(Browser/Server)开发的~当年萌新的我还妄想用C写一个win32控制台的管理系统作为毕设蒙混过关,然 ...
- GUI+Mysql 仿照水果超市实现简易学生管理系统
GUI+Mysql 仿照水果超市实现学生管理系统! **当我们学习完到GUI界面和JDBC的时候,就可以实现一些简单的小程序的. 下面是一个仿照水果超市实现学生管理系统的介绍,由一个主类实现.** 首 ...
最新文章
- wpfdiagram 学习 教学_李倩、吴欣歆:新高考背景下高中语文教学的三个转变
- nodeJs 控制台打印中文显示为Unicode解决方案
- (23)System Verilog设计二分频电路
- javafx-TableView 行颜色设置
- iOS自动布局之autoresizingi
- 2018 蓝桥杯省赛 B 组模拟赛(一)--- H. 封印之门(最短路)
- Django 输出二维码
- 图像语义分割(15)-ConvCRFs:用于语义分割的卷积条件随机场
- wget:Unable to establish SSL connection错误
- 腾讯QQ关闭所有的热键,防止冲突
- 酷派D530刷机指引
- ​网线水晶头排线图片接线标准
- 微信生态圈盈利模式分析
- 将iPhone投影到Mac上
- 避坑:关于两个HC-05主从一体蓝牙模块互连,连不上问题
- linux php zlib,Linux查询zlib版本
- 温故知新-什么是软件工程
- Visual Studio 2017、2019 无法启动的解决方法
- 关于近视眼手术网友的评价
- mysql5.1 emoji_技术|如何在 MySQL 中存储 emoji ?
热门文章
- intel cpu 漏洞 linux,Intel CPU架构漏洞越捅越大:打补丁将损失30%性能
- 训练效果不好的解决办法
- QWidget *parent
- uniapp 自动播放背景音乐
- csv是python内置模块吗_Python--CSV模块 - 一只小小的寄居蟹 - 博客园
- vue中使用原始html插值,VUE.JS中的插值表达式、v-cloak、v-text、v-html、v-bind:、v-on:...
- 邮件群发 php shell,Shell发送邮件以HTML展示
- miniblink载入html,(转)miniblink跨线程异步JS回调,及miniblink提升首屏加载速度的代码...
- pythonurllib的使用_python re和urllib的使用问题。
- 原理图框图_GW1N9芯片测评之GW1N Zero原理图、3D模型及PCB设计(二)