机房重构——数据类型很重要

        数据类型很是中要,在以前的VB6.0里面却一直没有注意到,到了VB.NET的世界才发现数据类型可以出这么多的问题,数据类型不匹配,不可以转换的例子层出不穷的,随着Format函数还有类型转换函数的改变,这里的类型的转换也有很多的变化,下面详细说明。


一、日期的类型和使用


        在VB.NET中,日期和时间在类型上是放在一起的,然而我们在敲机房的时候却需要把他们来分开放,这里就产生了数据类型的矛盾,在数据库中是有单独的date和Time类型的,所以可以直接声明,但是在VB.NET中没有分开的类型,所以我就把数据库中的所有日期和时间都定义成了varchar类型,然后用Fromat函数来转化时间变量来实现这个时间的传递。


        Format函数在这里也是不一样的,在VB.NET中他又有了新的定义,分为普通的format和特殊的功能Format,特殊的format前加上了类型的名称,使用比较复杂,但是在这里我们只是用Format功能来实现!

首先是format的日期方面的改动:

格式 显示

M/d/yy

12/7/58

d-MMM

7-Dec

d-MMMM-yy

7-December-58

d MMMM

7 December

MMMM yy

December 58

hh:mm tt

08:50 PM

h:mm:ss t

8:50:35 P

H:mm

20:50

H:mm:ss

20:50:35

M/d/yyyy H:mm

12/7/1958 20:50

注意:虽然表面上是没有改变,但是是在标识符的大小写上做了改变,如大写M代表月,小写m代表分钟等等。代码中使用:

WorkLog.OnTime = Format(ServerTime, "HH:mm:ss")
WorkLog.OnDate = Format(ServerTime, "yyyy-MM-dd")
日期时间类型在VB.NET中是DateTime


二、数字类型


        在数据库里面我们都用的是numeric(18,2)等numeric数字类型来给数值类型的数据(尤其是金钱)来赋值的,而到了VB.net中就不是double,int,long等类型能够承载的了,这个时候就轮到十进制类型Decimal出场了,这个类型是可以接收小数类型的,专用的十进制类型,其他进制的类型也是有的,同学们可以自己尝试。


三、类型的转换


        在进行数值运算的时候,被计算的数值来源不同,他们的类型也是不同的,可以是从泛型中传来的,自己定义的,输入框中获取的等等,要让他们可以用+-来运算,需要转换类型,这就用到了CType这个函数。

        CType(需要转换的值,转换成的类型),这个函数就是这么用的,其他的转化方法常用的就是Tostring等带to的方法。

你可能感兴趣的:(重构,数据类型,VB.NET,机房收费系统)