- 博客(43)
- 收藏
- 关注
原创 WPF项目知识C/S框架
一、火车后台管理系统:使用的是C/S框架【Service服务端 + Client客户端】,由三层架构组成【数据层、逻辑层、页面层】,数据层(连接数据库,简称DAL),逻辑层(逻辑处理,简称BLL),页面层(页面显示,简称UI)。其中,DAL&BLL组成C/S框架中的服务端,而UI页面层则是框架的客户端。使用三层架构写法的目的,防止数据层与逻辑层中的系统文件被不法分子偷取,单单只展示页面层给用户。二、Service服务端(DAL + BLL + WCF):①起到系统与数据库之间的连接作用。②DAL数
2021-01-20 20:37:18
613
原创 WPF Excel导入02
Excel表格导入到项目中的时候,这时候要把数据全部保存到数据库,需要大概的分为两个过程,一个是处理数据将数据绑定到dtSaveData,实例化表格接收需要新增的数据。第二就是保存新增数据了,这里保存新增数据的方法跟保存商品的是一样的。所以下面就是第一步构建表格的方法。需要注意的是颜色、尺码、规格这三个数据的录入,因为这三个数据在新增商品的时候是以下拉框的形式去新增的,而不是手动去输入的,所以要在数据库根据颜色、尺码、规格这三个属性的名称去查询出对应的ID,这样Excel表格在这三个属性的名称才能根据查询
2021-01-20 20:33:23
450
原创 WPF Excel导入01
导入首先要准备的是一个Excel模板,这个模板是你自己根据项目导入内容所制定的,模板制作好后把它放到客户端的的目录下。准备好的模板是提供给用户方便上传大量数据用的,也为了方便给用户一个上传数据可以参照的模板。1、当打开导入的界面的时候就会有上图中的三个按钮显示,第一个按钮就是可以把我们写好的Excel模板下载到本地电脑的目录中的,下载模板的时候需要执行两步操作,一是获取到原来准备好放在项目目录下的Excel模板,二是需要用户自己选择目录存放地址。其实下载模板其中的原理就是把项目中的Excel模板复制到用
2021-01-20 16:44:41
949
原创 WPF下拉框绑定数据
做WPF项目中,下拉框绑定数据是必不可少的一个功能,这个功能是把存在数据库对应的相关数据取出来,就比如一个颜色的下拉框选项,当你点击这个下拉框的时候就会把你储存在数据库的数据全部查询出来1、这个是数据库的存储过程,@Type后面接的是方法名是执行数据查询的根据,根据自己建表的思路把所需要的列查询出来,我下面是从t_detailed_attribute_gather表里根据t_detailed_attribute_gather.attribute_gather_id =7的条件来查询detailed_at
2020-12-18 21:50:37
1277
2
原创 WPF页面搭建
在WPF项目中,页面布局其实并不是很难,只要规划好页面的布局格式就很好搭建了,使用页面布局控件去自由搭建(布局控件:是可以容纳多个控件或者嵌套其他布局的控件,用于在UI上组织和排列控件,Grid、StackPanel、DockPanel等控件都属此类,它们拥有共同的父类 为Panel。)你可以把控件想象成一个容器,容器里装的东西就是它的内容。控件的内容可以直接是 数据,也可以是控件。当控件的内容还是控件的时候就形成了控件的嵌套。我们把被嵌套的 控件称为子级控件,这种控件嵌套在UI布局时尤为常见。因为允许控件
2020-12-04 22:25:44
400
原创 树,二叉树,遍历二叉树
树是有限集合T,如果 n = 0,称为空树,如果 n > 0,则满足,有一个特定的称之为根(root)的结点,它只有直接后继,但没有直接前驱; 除根以外的其它结点划分为 m (m > 0) 个 互不相交的有限集合T1, T2, …, Tm,每个集合又是一棵树,并且称之为根的子树;每棵子树的根结点有且仅有一个直接前驱,但可以有0个或多个直接后继。 二叉树:一棵二叉树是结点的一个有限集合,该集合或者为空,或者是由一个根结点加上两棵分别称为左子树和右子树的、互不相交的二叉树组成。五种基本
2020-05-28 17:13:41
250
1
原创 数据结构与算法知识总结三
一、静态查找是指在静态查找表上进行的查找操作,查找满足条件的数据元素的存储位置或各种属性。静态查找有:顺序查找、折半查找、分块检索。顺序查找:存储结构是线性表,查找过程是依次用查找条件中给定的值与查找表中数据元素的关键字值进行比较,若某个记录的关键字值与给定值相等,则查找成功,返回该记录的存储位置,若直到最后一个记录与定值均不相等,则查找失败。顺序查找完整的算法如下方框://查找的元素在数组r中,数组有n个元素,需要查找的是关键字是k。int SeqSearch(RecordType r, int
2020-05-18 17:03:09
208
原创 数据结构与算法知识总结二
堆栈和队列是特殊的线性表一、堆栈简称为栈LIFO(Last In First Out),是限定只能在表的一端进行插入和删除操作的线性表。有两种存储结构:1、顺序栈-采用顺序结构存储 2、链栈-采用链式结构存储,只对顺序栈进行介绍,如下图所示,插入元素时,从栈顶插入,由于限定只能在一端进行操作,所以删除元素时也应当是从栈顶开始删除,遵循先进先出的原则。这就比如在生活中,我们假设把五个碗从a1到a5...
2020-05-08 11:52:07
326
原创 数据结构与算法知识总结一
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入编写出一个高...
2020-04-28 11:29:13
244
原创 切换当前状态
直接在表格中切换状态,首先要自定义状态列。自定义状态列,一个状态拼接上一种状态的span标签,获取它当前行的状态和ID,判断它的状态,如果等于true就返回拼接的绿色已启用span标签,否则就返回红色的已作废span标签。直接给它绑定点击事件,当是启用状态点击事件传入的状态是false,已作废状态的点击事件则是传入true。这是点击事件的方法,定义模态框文字,判断状态再返回文字,确认后就会...
2019-07-26 11:06:42
395
原创 单选框获取值
选择单选框的值,将选择到的值返回到数据库,首先最重要的是它当前的数据类型是什么,我在设计数据库的时候,当时我想的是:它现在就只是两种状态,跟我们学习到的启用和作废一样,这里一个允许,一个不允许,就认为这个是bit类型的数据类型,Ture和False的判断。当然理解成bit类型错误并不是不可原谅的,毕竟它就只有这两种状态可选,但是当我在新增数据的时候,选中到了对应的值的时候,它并没有将对应的值获取到...
2019-07-26 10:59:17
1985
原创 模糊查询的异常
查询出对应表的信息,这里的是单表,直接查询一整张表的信息,需要传进模糊查询的字段参数,string 类型的StoreDetail 字段信息,还有分页参数。使用分页前是需要进行一次orderby 的排序,这里是根据仓库ID进行排序,否则会报错。下面这是模糊查询的代码:判断搜索框不为空时,就可以执行模糊查询方法,使用了Lambda表达式去查询对应字段的模糊信息,这里可以模糊查询的字段是仓库编号、...
2019-07-18 09:25:07
394
原创 回填页面数据
下面是表格数据中打开修改页面的按钮。var EmployeeID = date.EmployeeID;在表格在自定义列按钮能获取到当前行的ID,在打开的修改页面中回填数据,首先要获取到的是当前行的数据,所以根据ID去拿到相应的数据回填。在打开修改页面的时候给按钮绑定一个onclick点击事件,并把参数ID拼接上去。当点击修改按钮就会触发点击事件,window.location.href...
2019-07-18 09:22:58
203
原创 获取文件并显示图片
首先需要一个存放图片的div,放个img标签,基于空白的状态为了美观一些而先给定一张图片,再设定好宽和高就可以固定之后的大小样式了,input标签是放上传之后的图片,它的类型type是file,给input标签一个onchange改变事件再传入图片的参数,它的改变事件既是将选择到的图片显示在img标签那里。打开file表单这里给了一个按钮去实现,绑定了一个点击事件后面也要接一个参数,点击按钮实现选...
2019-07-07 09:24:41
995
原创 遇到的错误&快速的布局
一、在执行查询的时候,报了下面的错执行不了查询,这个错误是因为我在数据库中新建了一个表然而并没有设计主键不会自增,在用到这张表的时候就会出现异常。打开报出异常的查看详细信息,打开InnerException在右边会有详细的原因,因为它显示的是一行很长的,所以就把它复制到了记事本中去查看详细的信息,虽然不能看明白全部的意思,但是可以看到最后一张图片中红色框出来的一小段信息,看到有B_Commodit...
2019-07-07 09:15:55
163
原创 Layui数据表格
数据表格的加载:用了layui插件里面的数据表格,加载表格,首先需要给它准备好一个Demo,存放所有的数据,这里需要加载所有的仓库。加载表格之前要声明两个全局变量以方便使用,一个是数据表格Demo,一个是laer跟layuiTable模块,接着的代码全部写到Jquery里面,这些格式都是插件里面固定的写法,理解好需要使用的参数就可以得到需要的效果,开始使用layui.use需要用到layer和...
2019-06-27 21:42:49
232
原创 验证账号、密码登录
在商贸系统登录的时候,不需要验证码的验证,只需要验证账户和密码正确就可以进行登录,所以我们就只需要对账号和密码进行判断。这里写的登录逻辑很简单。只做到了:当用户输入了账号和密码正确就可以登录进去,并没有完善到其它功能所以逻辑是容易理解而且清晰。给登录按钮绑定点击事件,获取按钮写click事件,首先要获取到当前输入的账号和密码框里面的值,声明AccountNumber和password分别获取到...
2019-06-27 21:37:03
12058
5
原创 数据库设计
总结一下自己对创建数据库的过程:分配好项目之后,我们需要仔细地看需求书,看完之后就了解自己做的模块有哪些模块哪些功能,写一份计划书,里面写的是自己对项目的安排,细分模块,有模块功能的完成时间和未完成原因。后面可根据计划书去落实项目的模块及功能。项目最核心的地方就是对数据库的设计,所有的功能实现都是依靠数据实现。当想删除一个表的数据而不会影响到其它表的数据就要在设计数据的时候就应该符合三范式。所以在...
2019-06-17 21:57:08
191
原创 生成验证码图片
设计登录页面的时候,为了实现安全登录,在登录之前需要进行一些必要的验证。无论您在哪个网页上登录账户,往往会伴随着一种验证方法,如:有随机生成带着干扰方式的数字、字母图片;还有一张图片然后其中有一个位置是空的,需要以拼图的形式移动下边的滚动条把缺少的那块移动到空的图片位置;还有在图片上方给出几个物品顺序,在图片中物品比答案多出一个而且顺序也是无序的排列方式,需要按照答案的顺序依次点击图片中的物品,等...
2019-06-17 21:48:24
333
原创 打印水晶报表
成绩填报模块里面可以查询学生成绩也是可以打印成绩报表的,在打印前我们需要先按照水晶报表,安装完成之后就在所在的区域里面建一个新的文件夹用了来放水晶报表文件,因为打印水晶报表,需要两个文件,设计数据源和设计水晶报表模板。在新建的文件夹右键添加新建项,首先建数据源文件,在已安装下面找到数据,在数据里面还有一个数据集命名(ReportDB)后点击添加,再建水晶报表模板,同样右键添加新建项,在已安装下找到...
2019-06-09 10:51:59
191
原创 生成证书
证书的数据处理&证书打印:判断当前用户,获取最高成绩信息,对证书数据的处理。判断当前用户是否有成绩,查询成绩的结果有三种:1、未参加考试,没有成绩,2、参加了考试,没有合格成绩,3、参加了考试,有合格成绩。用了ajax方法去请求数据。$.ajax({type: “post”,//请求方法url: “SelectUserAchievment”,//路径//parseInt() 函数...
2019-06-07 16:44:39
269
原创 字段处理
一、如果页面有下拉框而且数据是固定的少数的几个值的时候就不需要再去创建子表,然后再连表查询的操作步骤了。像这种下拉框,我们在数据库设计的时候不需要建子表再用外键去连接,因为在这个项目里面就学生、教师、管理这三个身份,可以直接在页面下拉框进行绑定,给value设定固定的值,当下拉框被选中的时候就会返回绑定的值,再判断返回的值是哪个,将对应的身份填到数据库里面。在表格添加自定义列{ title...
2019-06-07 16:34:55
284
原创 事务
事务就例如老师所举的例子,我们常用的支付宝转账,你转了一百块给你的好友,假如系统内部最简单的操作就应该是从你的账户中减掉一百,在收款方的账户里面加一百,至少有会有这两个操作,但是万一运行失败,把你的一百减掉了,对方还没收到的时候系统出错报异常,这一百会消失掉吗?这种情况是不允许发生的,我们必须保证转出去之后对方是必须收到的,这操作必须要一次性完成的。要保证这种操作候我们就要用到事务,就像上面说的,...
2019-05-27 21:41:02
128
原创 多条件查询
多条件查询,有下拉框查询,以学院信息为例,当把数据库所有的学院信息都绑定到这个下拉框的时候,默认要查询信息的时候就非得选择一个学院才能执行查询,当要是想要一次性查询所有学院信息的时候就没有依据条件查询不了,所以在数据传到页面的时候在下拉框开始的位置给它拼接上一项–请选择–项,让请选择项的ID为0,ID为0的时候,就可以执行查询所有学院信息的方法。怎么把请选择项拼接上去呢?这里封装了一个类命名为...
2019-05-27 21:37:18
172
原创 linq查询中嵌套子查询
为了实现某个模块的功能时,需要查询数据时而这些数据又没有在同一张表里面,为了方便调用数据,就会创建实体类来封装这些数据,由于数据是关联多张表的那么实体类里面就会有多个列表对象,就比如在项目权限管理的权限维护中,查询权限及其权限明细,就需要用到三张表,实际是要查询模块,但是需要的数据还有操作类型,所以就需要根据模块明细里面的外键操作类型ID作为条件去查询操作类型。这就要创建下面这些实体去封装这些...
2019-05-16 21:40:05
1770
原创 批量删除
批量删除是对字符串的处理,需要拼接和分割字符串。一、在视图中先获取选中行数据,用checkStatus来接收,用layuiTable.checkStatus来获取在tabStudent这个表格里面所选中的数据,可以获取到一共选中了多少条数据,当checkStatus大于0时就是有选中数据,接着就是要对选中的ID进行处理,声明一个空的字符串studentIds,执行完for循环时再对student...
2019-05-14 22:10:39
261
原创 form表单、修改
一、form表单form表单有两个属性:action这是提交的地址,有绝对的和相对两种url,method提交表单的方式,提交的方式有两种get和post,form表单提交默认方式是get与 post相比,get更简单也更快,get提交时参数直接暴露在URL上,所以安全性较低,url受长度限制发送大量数据时也不能使用,post是将表单中的数据放在form的数据体中,按照变量和值对象的方式,传递到...
2019-05-07 18:17:11
5104
原创 Excel数据保存到session
将导入的Excel表格的数据保存到session要经过1、获取读取的文件;2、把文件转换为二进制数组;3、二进制数组转成内存流;4、利用NPOI把内存流中的数据读取成Excel,这四步操作用HttpPostedFileBase类来接收获取的文件,声明了一个string类型的fileExtension来接收,GetExtension方法用来获取文件的后缀名,一、第一个判断要判断传过来文件的类...
2019-05-07 17:52:31
541
原创 数据加载和分页查询
表格数据的加载和分页查询引用了layui这个插件插件要求表格加载需要返回固定的数据格式,这里需要Json格式和 code、msg、count、data这些参数,要按照数据格式来把表格数据返回来,这些数据需要创建一个实体类(LayuiTableData)把它封装起来。封装如下:public class LayuiTableData{// 数据状态码 – 可以不设置public int c...
2019-05-03 10:24:05
334
原创 session和cookie
session和cookie是网络编程中很重要session相当于每一个浏览器去连接它,它就会在服务器的内存当中,划分一块内存空间来单独存储与它在对话的浏览器信息,个人信息已经被浏览器发送过去了cookie是服务器要求浏览器记录的信息,cookie需要服务器返回一个生成cookie的要求,cookie是有时限的,如果长时间不登录,会发现不再自动登录了,原因是cookie已经失效了,浏览器就会把...
2019-04-26 17:25:34
125
原创 页面嵌套
实现点击菜单栏时,把页面嵌套进行显示在页面里面嵌套子页面,我们学习的那个案例页面全是都是嵌套在子页面里面的嵌套进来的页面会被压缩成上面那样的一小部分,解决这个问题需要用一段纯的Js代码,为什么用Js不用Jquery呢?因为Jquery是Jquery加载完了再执行,Js是在页面加载的时候就开始执行的,所以Js加载速度快。代码如下://根据浏览器大小调整iframe高度reSetSize...
2019-04-21 22:24:56
381
原创 查询
查询结构(from 自定义的表名 in Model对象.查询的表where 自定义的表名.字段1 关系运算符 值 [&& 自定义的表名.字段2 关系运算符 值]orderby 自定义的表名.字段1 select 自定义的表名2.1 select new 类名{ 类的属性1=自定义的表名.字段1,类的属性2=自定义的表名.字段2,…}2.2 select new ...
2019-04-17 21:55:45
342
原创 条件筛选
1、条件筛选:Lambda表达式if (AcademeID>0) {listStudent = listStudent.Where(m => m.AcademeID == AcademeID).ToList();}前面是Linq的写法这里用了Where方法,()括号里面是Lambda表达式AcademeID>0,时,对listStudent进行筛选listStuden...
2019-04-15 21:46:30
308
原创 删除选项
要进行题目的录入或者给题目进行修改的时候可能会需要对答案选项进行修改删除,下面就要进行写对删除选项的代码和操作。题目是判断题的时候不需要更改选项,因为判断题需要两个必须选项,且为只读状态的,所以就限制了下面删除选项时最低要保留两个选项的原因。删除选项的方法不难,而且还容易理解,给删除选项按钮写一个onclick点击事件,再写onclick点击事件的删除选项的方法。声明一个变量来获取选...
2019-04-07 22:28:01
263
原创 添加选项
因为判断题只有A、B两个答案,且为只读状态。所以首先要判断题目类型:单选题、多选题、判断题,由题目类型决定选项。其他题目类型可以添加选项,最多可以添加到六个,最少要有两个选项。1、判断当没有选择到题目类型时(TitleID为0),不能添加选项,并提醒用户:”请选择题目类型!”。2、判断题型是否为判断题(TitleID==3),是就不能添加选项,并提醒用户:”当前题型为判断题,不能添加选项...
2019-04-01 18:34:03
369
原创 风琴导航
风琴导航设在右侧,设的效果和文字都很简单,是用CSS3做出来的给每一个a标签设计间隔时间一样,鼠标移入a标签就会根据给定的时间显示出来,形成了动起来的效果最原始的样式鼠标移入效果结束的效果...
2019-02-20 18:24:24
210
原创 Js按钮Hover
设计按钮Hover效果1.给按钮设计样式2.i标签是设计小三角形,先设计i标签的大小为一个小正方形,然后再根据所需要的方向把它设为需要的颜色,其它方向设计为透明即可3.在js要获取到按钮的id,设计鼠标移入 移出的显示和隐藏,还要获取HTML中所需要的样式4.按钮5.鼠标移入的效果...
2019-02-20 15:28:11
953
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅