【C#】-- C#學習
C#
木子松的猫
为了毫不费力,所以必须努力。
展开
-
【机房重构】-完结篇
前言历经漫长的过程,重构终于完结了。虽然完结了,同时也发现了跟多问题,有待自己去解决。验收 项目完结了,当然得说道说道验收。验收是我们学习过程至关重要的一个环节,通过验收我们可以发现自己很多的不足,正所谓当局者迷,旁观者清,更何况这个旁人是时常关注我们的师傅,他们更加了解我们的缺点,和师傅交流,师傅点醒自己很多问题,有一些东西师傅会引出来,然后自己的好奇心就有了,原创 2017-08-11 21:12:09 · 336 阅读 · 11 评论 -
【机房重构】-UNL图回顾
前言欠的迟早是要还的,UML图至从学过之后,就几乎没有复习过,到现在,几种关系,各种图的作用以及区别,都已经很模糊,这次正好结合重构,做一下回顾。UML是什么?统一建模语言,可视化的面向对象建模语言,其实呢就是一种图形化的语言,用图说话的语言,我们学的很多计算机语言是用代码来写的,UML的不同之处就在于它是用图形来表示的。当一个繁杂的系统用文字表达不清楚的时候,UML图原创 2017-08-09 20:39:45 · 543 阅读 · 15 评论 -
【机房重构】-报表
稍后补上。原创 2017-07-02 21:50:24 · 436 阅读 · 9 评论 -
【机房重构】-组合查询之模版模式
机房重构中,组合查询也是一个让人头疼的难点,其实说难也只是因为自己没有理清头绪,没有开始。如果自己理清了关系,并着手开始,然后一点一点攻克,最后当功能实现,代码顺利跑起来的那一刻,会觉得其实一不过如此,哈哈。所以,总结两个字,去做!一、基本介绍本着机房重构实践模式的原则,组合查询用到了模版模式。模板模式属于行为型模式,其意图是定义一个操作的算法骨架,而将一些步骤延迟到子类中,可以不原创 2017-06-25 20:56:20 · 333 阅读 · 3 评论 -
【机房重构】-存储过程
你可以搜一搜网上存储过程的好处,比如响应速度啊等等,最好也要知道为什么不提倡使用存储过程,为什么说它破坏了业务逻辑。存储过程: 它是一组预先编译好的Transact-SQL语句。将其放在服务器上,由用户通过指定存储过程的名字来执行它。存储过程可以作为一个独立的数据库对象,也可以作为一个单元被用户的应用程序调用。存储过程可以接收和输出参数,返回执行存储过程的状态值,还可以嵌原创 2017-06-11 22:24:16 · 519 阅读 · 26 评论 -
【机房重构】-数据库设计
这次机房重构没有用之前机房的数据库,自己重新建了一个,想着既然数据库重建了,那就顺便按数据库系统生存期详细走一遍。虽然上次自考学习过数据库系统原理,但是只是学习了理论,没有实践,趁着这次机会,好好实践一把,增强自己对规划、需求分析、概念设计、逻辑设计、物理设计、实现、运行维护七阶段的理解。规划阶段对于数据库系统,特别是大型数据库系统或者大型信息系统中的数据库群,规划阶段是十分必要的原创 2017-05-21 16:57:25 · 681 阅读 · 18 评论 -
机房收费系统(五)-组合查询之局部最优
机房差不多就这样结束了,组合查询是我们学习机房系统时遇到的新的问题,但是一直没有总结,,,这两天一直在用两种方法解决组合查询,到今天为止,终于两种方法都突破了。很巧的是,这两种方法对于上周日米老师讲的局部最优法和全局最优法的就是一种完美呈现。 话不多说,看代码: 局部最优Private Sub cmdInquiry_Click() Dim txtSQL As Stri原创 2016-09-07 16:14:55 · 707 阅读 · 17 评论 -
机房收费系统(四)-上下机总结
小感悟: 上下机是最后才完成的,之前一直感到很犯怵,不得不承认是让上下机给吓着了。原以为上下是最难处理的,完成了,才明白,和结账相比,上下机原来也不过如此。有时候,我们认为事情很难,很多时候是自己吓自己,其实事物本身并没有很难。相信自己,是最大的动力。上机 上机涉及到三个表student表,online表,basicdate表,下面以表的先原创 2016-09-04 20:33:59 · 437 阅读 · 9 评论 -
机房收费系统(三)-点点滴滴的收获
一、Dtpicker控件在加载与日期有关的数据时,dtpicker控件帮了我们很大的忙,有助我们学习,方便我们生活的工具真的很多,有待我们去发现。1、如何加载VB默认的控件栏中是没有DTpicker日期控件的,添加过程:工具——部件——控件——“Microsoft WindowsCommon Controls-2.6.0”——应用——确定2、常用属性:Format原创 2016-08-29 11:28:55 · 697 阅读 · 14 评论 -
机房收费系统(二)-导出为excel
一、引用Microsoft Excel 15.0Object Library二、代码展示,仅供参考, 1、数据从控件MSHFlexGrid中导出 2、将函数定义在模块中三、拓展 1、word也可以实现和vb交互 2、VBA原创 2016-08-10 19:32:53 · 673 阅读 · 14 评论 -
机房收费系统(一)-前期准备
机房收费系统是继学生信息管理系统之后的又一个完整的系统,但是学生完全是按着源码敲的,而机房只有一个EXE打包文件,其他一无所有,代码完全需要自己去敲,这就让我和着急了,,,, 唉,真的是好后悔,学生里边的代码没有好好理解,到了机房,完全需要自己弄的时候,突然感到了前所未有的困难,丝毫没有头绪。所以好几天以来,一直在翻看师哥师姐的博客,从中总结出的几条经验大体是: 1、原创 2016-07-29 21:19:37 · 581 阅读 · 15 评论 -
【机房重构】-泛型与datatable
DataTable:一个DataSet中可以有多个DataTable,一个DataTable中可以有多个DataRow。组合一起就是一个虚拟的数据库结构。在程序中,DataTable就是一张表,可以给他定义各种数据类型的列。然后给他赋值,和数据库中的表的作用是一样的。唯一不同的是:他的数据是虚拟的。用datatable,我们看U层显示代码:CardInfo.CardNo = dt.Ro原创 2017-06-18 22:28:11 · 390 阅读 · 24 评论 -
【机房重构】- ConnectionString属性尚未初始化
一般熟悉asp.NET的程序员都习惯把数据库连接配置写到配置文件"web.config"中,这样做的主要优点是能随时更改数据库配置(比如修改账号密码)而不用再编译,web.config中数据库配置如下,如果web.config文件中没有下面配置,需要自己编写:[html] view plain copy print?span style="font-fami原创 2017-06-04 16:29:34 · 4794 阅读 · 13 评论 -
【机房重构】-SQL Server数据类型
1:字符串数据类型: char(n) 固定长度的字符串。最多8,000 个字符。 varchar(n) 可变长度的字符串。最多8,000 个字符。 varchar(max) 可变长度的字符串。最多 1,073,741,824 个字符。 text 可变长度的字原创 2017-05-14 20:53:18 · 278 阅读 · 15 评论 -
【机房重构】-缺少程序集引用
错误错误 4 命名空间“System.Configuration”中不存在类型或命名空间名称“ConfigurationManager”。是否缺少程序集引用?过程在工厂奋战时,明明已经添加了“using System.Configuration;”的引用,但是还报如上的错误。百度后,也说是需要引用using System.Configuration;我也用了,为什么仍有原创 2017-04-20 19:42:45 · 795 阅读 · 33 评论 -
【机房重构】-理理思路
前言 从想着弄机房重构,到现在已经过去很久了,开始是因为快自考了,就放下了机房,自考完一周又过去了。其实也不是不想弄,而是因为七层登录真的是一道坎,感觉好难。这几天一直像苍蝇一样,胡乱瞎撞,到现在为之,登录还是没通。头疼啊,先稍微理理思路吧。 之前学习了三层,UI层、BLL层、DAL层。分层架构的目的就是为了高内聚,低耦合。这也是我们软件设计所要追求的,在三层的基原创 2017-04-16 20:46:09 · 457 阅读 · 33 评论 -
Winform中用bindingNavigator和bingdingSource实现分页
BindingNavigator控件介绍可以使用BindingNavigator控件来创建标准化的方法,以便用户搜索和更改 Windows 窗体上的数据。BindingNavigator 控件由包含一系列 ToolStripItem 对象的ToolStrip组成,可以实现:添加数据,删除数据,分也显示等。结合BindingSource,可以便用户能够在窗体上数据记录之间移动并与记录进行交互。...原创 2018-04-05 09:31:51 · 5973 阅读 · 6 评论 -
【C#】—颗粒归仓
一、数据类型int---整数类型double---小数类型char---字符;char类型的字变量是用单引号括起来的吗,如'A'。如果把字符把在"A"(双引号)内,编译器会把它看作是字符串,从而产生错误。string---字符串decimal---金钱小数;decimal d=12.30M;要了解一点:C#认可的基础数据类型并没有内置于C#语言中,而是内置于.n原创 2016-12-05 10:24:28 · 526 阅读 · 12 评论 -
【C#】—数组
数组概述数组是包含若干相同类型的变量,这些变量都可以通过索引进行访问。数组中的变量称为数组的元素,数组能够容纳元素的数量称为数组的长度。数组中的每个元素都具有唯一的索引与其相对应,数组的索引从零开始。数组定义方式第一种方法长度为10,索引为0-9第二种方法,数组只能存5个值第三种方法,声明数为3,个数为3,此中声明方式声明数和个数必须一致。第四种方法,提供初始值,可原创 2016-12-17 20:49:51 · 614 阅读 · 23 评论 -
【C#】—值类型与引用类型
前言C#的类型系统可分为两种类型,一是值类型,一是引用类型。在C#中每种类型的存储方式又分为两种,一是分配在托管栈中(简称栈),一是分配在托管堆中(简称堆)。内存的分配有CLR管理,即CLR(公共语言运行库,Common Language Runtime)和Java虚拟机一样也是一个运行时环境,是一个可由多种编程语言使用的运行环境。数据类型1、概念值类型:数据存储在内存的堆原创 2016-12-28 16:19:35 · 482 阅读 · 36 评论 -
【C#】—一元,二元,三元运算符
一、开篇 运算符有一元运算符和二元运算符和三元运算符之分。 对于像++,--这样的只需要一个操作数就能进行运算的运算符,我们就叫一元运算符 对于我们正常使用的"+", "-", "*", 需要两个数参与运算的运算符,我们就叫二元运算符 对于像(?:),需要三个表达式参与运算的运算符,我们就叫三元运算符 今天我们的重点是一元原创 2016-12-11 15:13:57 · 14045 阅读 · 18 评论 -
【设计模式】-工厂三姐妹
1、简单工厂:将界面与业务逻辑分离,分离出一个类专门来创建实例的过程,是工厂模式家族中最简单实用的模式。原创 2017-03-12 20:41:51 · 389 阅读 · 17 评论 -
【设计模式】-原则总结(一)
前言 C#以及设计模式,学习了有一段时间了,也可以说拖了有一段时间了,一直没有好好总结一下,该开始慢慢的写写这一块的总结了。今天采访丁成云师姐的时候,师姐也提到了总结的重要性,总结是为了让我们更好的理解,理解是为了更好的应用,而且现在总结对于我们来说是一种奢侈的事儿,工作以后想写写总结都没有时间也没有耐心。 米老师常说的一句话“变是永远不变的”,也由此可见很多事是我们无法掌握的原创 2017-03-05 19:14:34 · 352 阅读 · 18 评论 -
三层-实战
马上就要开始机房重构了,三层是机房重构的一个铺垫,敲一个三层的例子,然后好好理解一下,对于后边的学习相信会轻松一些。先放一张系统模块图瞧瞧:建立数据库创建数据库:Login然后建立两张表:Users表和Scores表显示层(LoginUI)代码实现namespace LoginUI{ public partial class Form1原创 2017-03-28 20:44:50 · 791 阅读 · 48 评论 -
三层
三层是什么,有什么用显示层(UI)、业务逻辑层(BLL)、数据访问层(DAL)再加上实体层(Model)。以上三层是逻辑上的。UI层的作用:向用户展现特定业务数据并采集用户的输入信息和操作BLL层的作用:从DAL中获取数据,以供UI显示用、从UI中获取用户指令和数据,执行业务逻辑、DAl层的作用:主要和数据源打交道,操作原始数据,例如从数据源加载数据(Select)、向数据原创 2017-03-26 15:51:39 · 485 阅读 · 36 评论 -
【C#】-面向对象三大特征
这周没怎么学习,稍后补上。原创 2017-01-08 22:42:21 · 554 阅读 · 14 评论 -
C#-Math.Round()
1、向上取整:math.ceiling() 例如:math.ceiling(1) = 1 math.ceiling(1.1) = 2 math.ceiling(1.5) = 2 2、向下取整:math.floor() 例原创 2017-07-16 15:23:16 · 1765 阅读 · 16 评论 -
sql注入
前言 SQL注入,对这个说法一点都不陌生,但是具体什么叫sql注入,什么情况会发生sql注入,又该如何预防它的发生,一直都不是很清楚。 是什么 所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。 具体来说,它是利用现有应用程序,将(恶意的)SQL命令注入到后台数原创 2017-08-22 15:19:14 · 5998 阅读 · 36 评论 -
internal访问权限
访问修饰符是一些关键字,用于指定声明的成员或类型的可访问性。 pulic:访问不受限制; protected:访问仅限于当前类或从当前类派生的类型; Internal:访问仅限于当前程序集; private:访问仅限于当前类;今天的主角是internal,初看到Internal,不知道它的访问权限仅限于当前程序集,也不太清楚程序集是怎么个概念; i...原创 2018-03-18 20:59:52 · 3653 阅读 · 16 评论 -
该行已经属于另一个表
NCRE优化的时候,报了一个这样的错:改行已经属于另一个表。而报错的起始原因是我想把一个datatable表的某一行赋给另一个datatable中。解决的方法是:先给接收数据的datatable加入对应的列名#region 为table1和table2加入对应的列名 for (int j = 0; j < dt.Columns.Count; j++) ...原创 2018-04-01 21:29:01 · 2851 阅读 · 3 评论 -
在datagridview中添加button按钮
前言:.Net的DataGridView控件中,提供了一种列的类型,叫 DataGridViewButtonColumn ,这种列类型是展示为一个 按钮,可以给button赋予相应的text,并且,此button可以用来做处理事件的判断依据。DataGridViewButtonColumn,虽然在UI展现上,是一个BUTTON的样子,但是,它的实际形态,并不是传统意义的BUTTON,而是渲...原创 2018-04-05 09:08:23 · 38452 阅读 · 14 评论 -
【C#】—.net,VS,C#三者的关系
开篇C#是接触的第二种编程语言,有些小激动。但是看视频的时候,有一些概念很混乱,下面就来理理头绪,.net framework .net就是一个开发平台,可用于开发C#,vb等多种语言。微软有两个非常成功的品牌,Windows和Office,.NET可以看成是微软的另一个品牌。.net也可以理解为一种框架,也就是一种开发运行的环境,而框架包含多个类库,提供各种功能。比如.n原创 2016-12-02 16:44:10 · 2561 阅读 · 18 评论