接上面的毕业设计继续写

现在从底层的数据处理开始,由于时间有限我没有时间来作关于数据处理类的编写了,于是想到linq,它还是非常方便的,可是之后它给我的感觉却没有那么好了,这里我用它来自动生成一些公共类,还让他自动生成存储过程。这样我就不用花很多时间来写如何操作数据库的方法了。

在调试数据处理的时候也没有遇到什么问题,主要是因为都写在存储过程里了,在调试存储过程的时候就保证了它的正确性。

先来看看系统生成的实体类吧:(由于存储过程太多,这里就没有贴出来)

小型超市综合管理数据库设计mysql 超市数据库设计案例_自动生成

系统主要是围绕这些表的处理的,其中有四个视图为了统计的方便也放在这里了。最后一个saled表与前面的表没有关联,它记录了卖出商品的类型,商品名字,数量,总价,单价几方面的信息。

前面说过,对于数据的处理都放在存储过程里面了,这给查询数据造成了一定的困难。在生成的存储过程方法中它产生如下代码:

系统自动生成的处理存储过程的方法
<FunctionAttribute(Name:="dbo.FilterGoodsInfo")>  _
    Public Function FilterGoodsInfo(<Parameter(DbType:="NVarChar(20)")> ByVal info As String, <Parameter(DbType:="NVarChar(20)")> ByVal company As String, <Parameter(DbType:="NVarChar(20)")> ByVal types As String) As ISingleResult(Of FilterGoodsInfoResult)
        Dim result As IExecuteResult = Me.ExecuteMethodCall(Me, CType(MethodInfo.GetCurrentMethod,MethodInfo), info, company, types)
        Return CType(result.ReturnValue,ISingleResult(Of FilterGoodsInfoResult))
    End Function

可见它的返回值是一个ISingleResult(Of FilterGoodsInfoResult)。当这些信息绑定到数据控件的时候就会出现有不能接收类型的问题。在数据处理层我就把它们转化为IList类型,即实现了IList接口的都可以当做数据源。

由于后面要用到备份数据库这里我添加了一个类。类图如下:

小型超市综合管理数据库设计mysql 超市数据库设计案例_小型超市综合管理数据库设计mysql_02

上面的属性分别是:

Desc:备份处理说明信息

Expire:过期时间 0表示永不过期

FilePath:要保存的路径

Full:是不是完全备份

Name:备份的文件名

呵呵这就是前期的数据处理准备工作,感觉这样不好。又感觉很乱,今天一个东莞的新诚智的电话面试,后来上网查说是可能是假的,骗人的。就感觉很乱,很难受,还没有踏上社会就给我当头一棒。