因为之前对泛型研究了一番,所以就開始尝试着在机房收费系统重构中增加了泛型的使用。

可是到了做学生查看剩余金额这个功能的时候,还是依照之前的方法做的,可是在载入数据的时候班级这个框就没有显示出来……然后我就纳闷了。

我就去看这一段的代码,发现也没什么问题呀。都是在赋值呀。然后我就单步调试,也是走了那一句赋值的代码,可是没有值,为什么其它的都Ok,所以我就非常纳闷,由于这个地方我用到了视图,我以为是视图出了问题。然后就去查我的视图。可是我想了一下,视图就是一个虚拟的表,仅仅要建好了。跟直接调数据库表中的东西是一样的。所以应该不是视图的问题,通过排除法。我找到了问题的根源——数据库中的字段!数据库中的这个字段是class,可是我去看我实体中的字段写的是Sclass,由于class是一个关键词,所以仅仅能定义成Sclass。然后这个字段跟数据库中的字段不一样。其它的字段是一样的,并且我让他返回的是泛型,所以仅仅有这个字段会出现故障。

代码:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

视图字段:

数据库字段:

然后我就把数据库中的字段改成了和实体一样的。这样就成功了!

改动数据库字段:

改动视图字段:

成功显示:

因为泛型參数(尖括号中的)写的是一个实体类。当运行的时候,会自己主动获取实体类的属性名,然后Datatable中匹配有没有该名称的字段,有的话就赋值。Datatable中的每一行记录都这样处理。所以我们应该把实体类的属性名和数据库表中的字段名一模一样。

总结:有的时候我们以为我们对这个新的知识懂了。会用了,事实上我们仅仅是没有碰到问题而已,仅仅有多用,多遇到问题。我们才干真正的越来越了解。这就是我们都说的在问题中成长!

机房收费系统——转换list泛型时,字段名称不正确应出现故障的更多相关文章

  1. VB.NET机房收费系统总结

    总感觉这次机房收费系统非常有份量,一直没有下手总结,从2014-7-27至2014-9-29.这中间有太多故事和成长.首先说一下两次机房收费系统的不同,它是我们从面向过程向面向对象的一个转变.在.NE ...

  2. vb.net机房收费系统之组合查询

    我个人一直认为,组合查询是机房收费系统的一个难点,尤其是用到三层之后,如果要为组合查询中的每一个查询建立一个显然是太麻烦了. 下面介绍一下我的方法,对大家起个参考作用. 我将该表中可输入的内容定义为一 ...

  3. VB.NET 机房收费系统项目总结

    VB.NET机房收费系统项目总结 从2013年5月3日——2013年8月20日历时三个多月的.NET机房收费系统终于完成了.项目做完了,真有一种如释重负的感觉. 下面我将从文档.UML图,代码这三个方 ...

  4. VB.NET版机房收费系统---组合查询

    查询的意思就是查找,寻找,指在某一个或几个地方找出自己所要的信息,假如我想搜索一下我自己写的博客,名字叫做初雪之恋,我在百度的搜索框中输入丁国华三个字,会有怎样的惊喜等着我? 啊哦,这个信息并不是我想 ...

  5. VB.NET版机房收费系统---异常处理

    异常处理,英文名为Exceptional Handling, 那时年少,还记得那年一起学习过的VB6.0的时候,常常使用ONError的错误语句.与传统VB6.0中的OnError语句相比.NET平台 ...

  6. 机房收费系统(VB.NET)——超具体的报表制作过程

    之前做机房收费系统用的报表是Grid++Report,这次VB.NET重构中用到了VisualStudio自带的报表控件. 刚開始当然对这块功能非常不熟悉,只是探究了一段时间后还是把它做出来了. 以下 ...

  7. 机房收费系统(VB.NET)——存储过程实战

    最初接触存储过程是在耿建玲老师的视频里,当初仅仅是草草过了一遍.仅仅是有了个印象.知道了这个名词:大二时也有SqlServer数据库这门课,只是老师没讲,自己也没看:真正对存储过程的了解来自于自学考试 ...

  8. 机房收费系统个人重构关于SQLHelper

    近期在敲机房,对于SQLHelper也是心里有些怵,由于原来没用过,可是看了一些博客和资料后发现,假设不用这个类,会大大添加代码量,并且,事实上它并不新,它是一个有多个关于数据库增删改查操作的语句函数 ...

  9. 机房收费系统之vb报表的模板的制作(一)

           机房收费系统有报表的功能,报表对于我们来说有点陌生.这不是会计的事吗?怎么机房收费系统也參合进来了,事实上我们学会了报表的步骤.理解了代码后.报表变得不是非常难,世上无难事,仅仅怕肯登攀 ...

随机推荐

  1. Flex 基础语法(二)

    1.flex -direction 属性 含义 row(默认值) 主轴为水平方向,起点在左端. row-reverse 主轴为水平方向,起点在右边. column 主轴为垂直方向,起点在上沿. col ...

  2. Oracle-3 - :超级适合初学者的入门级笔记--用户权限,set运算符,高级子查询

    上一篇的内容在这里第二篇内容, 用户权限:创建用户,创建角色,使用grant  和 revoke 语句赋予和回收权限,创建数据库联接 创建用户:create user xxx identified b ...

  3. 《剑指offer》面试题的Python实现

    <剑指Offer>是很多程序员面试前要看的书,但里面的算法都是基于C++实现的,最近用了三周左右时间,用Python完成了里面几乎所有的算法题,由于时间以及个人水平均有限,或许会有部分问题 ...

  4. struts2 内容记录

    多xml文件配置 在开发过程中我们经常会将每一张表(如:user表)的struts.xml文件分开,便于管理,故需要建立struts_user.xml文件管理请求等.那么需要用到inculde标签. ...

  5. nodejs a和b文件相互引用

    //取自于node中文网 http://nodejs.cn/api/modules.html 当循环调用 require() 时,一个模块可能在未完成执行时被返回. 例如以下情况: a.js: con ...

  6. Thrift全面介绍

    官网:http://thrift.apache.org   简介 Thrift是一个软件框架,用来进行可扩展且跨语言的服务的开发.它结合了功能强大的软件堆栈和代码生成引擎,以构建在 C++, Java ...

  7. Python之re正则模块

    正则表达式可以帮助我们更好的描述复制的文本格式,可以更好地利用它们对文本数据进行检索.替换.提取和修改操作. http://www.cnblogs.com/huxi/archive/2010/07/0 ...

  8. Cordic算法——圆周系统之旋转模式

    三角函数的计算是个复杂的主题,有计算机之前,人们通常通过查找三角函数表来计算任意角度的三角函数的值.这种表格在人们刚刚产生三角函数的概念的时候就已经有了,它们通常是通过从已知值(比如sin(π/2)= ...

  9. maven学习之二

    三 profile介绍 可以有多个地方定义profile.定义的地方不同,它的作用范围也不同. (1)    针对于特定项目的profile配置我们可以定义在该项目的pom.xml中. (2)     ...

  10. Mac下Kali虚拟机与宿主机共享文件夹

    宿主机: 1.创建文件夹.测试文件 ZhangSan-MacBook-Air:~ zhangsan$ mkdir kalishare && cd kalishare/ ZhangSan ...