一,字符的限制

这个是两种限制,其实都是根据ascii码来写的,给大家加推荐一个博客,可以去了解一下更深层次的。

C#输入字符限制:https://blog.csdn.net/u014067842/article/details/42236417,希望通过这个博客能给大家更多的启发。

            using System.Text.RegularExpressions;//引用之后才能用RegexRegex reg = new Regex(@"[^A-Za-z0-9]"); //限定输入范围是字母和数字if (reg.IsMatch(txtUserName.Text.ToString())){MessageBox.Show("请输入有效数字!");txtUserName.Text = "";txtUserName.Focus();return;}Regex reg = new Regex(@"[^0-9]"); //只能输入数字if (reg.IsMatch(txtCardno.Text.ToString())){MessageBox.Show("请输入有效数字!");txtCardno.Text = "";txtCardno.Focus();return;}

二,虚拟表DataTable

在机房重构中,有的需要将查询到的数据库中的元组作为返回值,在UI层显示,就需要用到DataTable来保存和返回查找结果。

大家看一下是怎么用的DataTable,也可以实例化 ,赋值也是可以的,下边是表头赋值。


DataTable dt=new DataTable("User");//添加列,表头赋值dt.Columns.Add("user_name",typeof(string));dt.Columns.Add("user_password",typeof(string));dt.Columns.Add("user_page",typeof(int));

这个是我D层的登录代码,下边的代码是虚拟表接收的数据库中查找到的数据。

        public DataTable selectUser(Entity.UserInfo UserInfo)//查询user表,当UI 的用户id和密码和数据中的对应相等时,返回这一元组{SQLHelper sqlHelper = new SQLHelper();   //实例化一个SQLHelperSqlParameter[] sqlParams = { new SqlParameter("@userID", UserInfo.UserID),new SqlParameter("@Password", UserInfo.PassWord) };string sql = @"SELECT * FROM [User_Info] WHERE  userID=@userID and PWD =@Password";DataTable table = sqlHelper.ExecuteQuery(sql, sqlParams, CommandType.Text);return table;}

将结果虚拟表返回到U层后,需要将虚拟表的值赋给datagridview控件。

 dataGridView1.DataSource = dt; //将查询的数据显示到表格中,dt定义的是虚拟表//给dataGridView1表头赋值dataGridView1.Columns[0].HeaderText = "用户名";dataGridView1.Columns[1].HeaderText = "权限";dataGridView1.Columns[2].HeaderText = "登录日期";dataGridView1.Columns[3].HeaderText = "登录时间";dataGridView1.Columns[4].HeaderText = "退出日期";dataGridView1.Columns[5].HeaderText = "退出时间";dataGridView1.Columns[6].HeaderText = "机器名";dataGridView1.Columns[7].HeaderText = "状态";

这里有个一个问题,虚拟表能赋值表头,datagridview也是可是单独赋值给表头,所以,如果你在查找到你要的数据之后修改虚拟表的表头,就不用修改datagridview的了,至于为什么要修改表头,是因为数据库中都是英文表头,不方便咱们看,这么做更方便。

C#机房重构-总结(三)相关推荐

  1. 个人机房重构--七层实现登录

    一.概述: 现在准备开始个人机房重构,那么就从简单的来,先用七层实现登录.我们常说的七层是指哪七层呢?其实七层就是在三层的基础上,添加了外观层--设计模式的外观模式,抽象工厂加反射,接口层.外观层主要 ...

  2. 机房重构 之 抽象工厂+反射+配置文件 实现数据库訪问

    重构机房已经開始三个多星期了,从刚開始的一头雾水,到如今的柳暗花明,由開始的无从下手,到如今感觉犹 如脱胎换骨了般.和两个星期前相比.如今明朗了多了,心情也好了不少. 先给大家看一下这次重构的总体架构 ...

  3. 【机房重构】-UNL图回顾

    前言 欠的迟早是要还的,UML图至从学过之后,就几乎没有复习过,到现在,几种关系,各种图的作用以及区别,都已经很模糊,这次正好结合重构,做一下回顾. UML 是什么? 统一建模语言,可视化的面向对象建 ...

  4. 【机房重构】一步一步往上爬——不仅仅是三层

    不知道大家还记不记得之前学习的UML中一个单独列出来的一种图,也就是这次我想说的包图.那个时候,让我们画机房收费系统的各种图,用例图.类图等等,通过自己反复琢磨,还都勉勉强强画出来了.唯独只有包图,我 ...

  5. 【机房重构】一步一步往上爬——数据库设计

    期末考试结束了,寒假全职生活如期而至,终于可以开始全身心的投入我的机房重构了.又是一个新的项目,万事开头难,但不开头更难.自己也只能是一步一步往上爬,机房重构便从数据库设计开始. 回想去年的自考学习, ...

  6. 蠡测机房重构之组合查询

    [写在前边的话] 在进行机房重构的过程中,设计组合查询的窗体,真的是学到了很多东西.以管窥豹,以蠡测海,所以想小小的总结一下,缅怀这一寸寸学习的时光. [设计模式之模板方法的运用] 模板方法模式--在 ...

  7. 机房重构---准备阶段总结

    三层项目结束有段时间了,由于最近把大把大把的精力放到了自考上,机房重构只是停留在了准备的阶段,下面是我在准备阶段对"机房重构"的一些自我认识. 刚开始的时候非常迷茫,现在仍然很迷茫 ...

  8. 机房重构(个人版)——类图

    我觉得机房重构的正确顺序是:数据库.绘图(包图.类图.时序图).文档最后是代码的实现.只是,尽管我这么觉得,却没有全然依照这个进行.我觉得.计划和顺序是死的.人是活的.假设进行到某一步.你进行不下去了 ...

  9. 配置文件总结(机房重构知识点总结)

    在这次机房重构中,第一次用了配置文件,把数据库的链接字串放在了配置文件中.和VB6.0版相比.不用又一次编译软件,就可以实现数据库的变更,确实方便了非常多. 直到想要总结配置文件才发现,自己对配置文件 ...

最新文章

  1. python绘制雷达图代码实例-python处理excel绘制雷达图
  2. 关于网络编程中MTU、TCP、UDP、IP
  3. 斜面孔如何绘制_journal of neuroscience:面孔的神经表征与眼动模式相协调
  4. VTK:vtkDelaunay2D用法实战
  5. 【工业控制】What is a Waveform
  6. SaltStack的salt-ssh使用及LAMP状态设计部署
  7. Skype for TV停止支持 三星确认今年6月移除该应用
  8. JavaScript从入门到放弃 -(六)正则表达式
  9. 用tsmmc.MSC方式在xp和Win7集中管理多台Win2003服务器
  10. linux权限案例,Linux下的权限体系
  11. vv7无法启动显示发动机故障_发动机电控系统常见故障(发动机不能启动)的解决方法...
  12. [SinGuLaRiTy] NOIP2017 提高组
  13. 笔记︱风控分类模型种类(决策、排序)比较与模型评估体系(ROC/gini/KS/lift)
  14. visio连接线文字背景填充_文字稿:visio中如何调整连接线上文字的位置?
  15. 最流行前端开发框架对比评测
  16. 51单片机汇编编程--16位拉幕灯
  17. 【深度学习】DCGAN实现动漫头像生成详细说明
  18. 纪录大华的智能回调需要用到的事件列表
  19. Termux外置硬盘挂载——rclone WebDav 挂载网盘
  20. 旋转矩阵变换左右手系

热门文章

  1. Linux 守护进程的原理与实现
  2. mstsc /console超出最大允许连接数(远程桌面不能连接)解决方法
  3. MmGetSystemRoutineAddress和MiFindExportedRoutineByName函数的实现代码
  4. 8086 CPU 寄存器简介
  5. CentOS7.2 开启内网转发
  6. 2019ug最新版本是多少_UGNX将在2019年发布最新版本,也是最后一个版本,让人更意想不到的是它的这项新功能!...
  7. 计算机组成原理考试知识点总结,最新2018计算机组成原理期末复习考试知识点复习考点归纳总结总结...
  8. java实现上传_文件上传(java)
  9. linux 线程 pthread create 源码 剖析
  10. 微信用户全局唯一标识_分布式系统的唯一ID生成算法对比