当前位置:编程学习 > C#/ASP.NET >>

分层体系结构(MVC)二

答案: 

二、EntityClass

EntityClass中的每一个文件对应数据库中的一张表,对应其字段,以及对表的操作的封装,如查询,增加、删除等。

所有的EntityClass继承了一个基类BaseEntity,基类的代码如下,主要是一些接口

Imports System.Data
Namespace EntityClass
    Public Class BaseEntity
        Public strSql As String
        Public database As Data.DataFactory
        Public dt As DataTable
        '构造函数
        Public Sub New()
            Me.database = New Data.DataFactory
            Me.dt = New DataTable
        End Sub
        '应该做成抽象的abstract
        Public Function Load() As Integer
        End Function

        Public Function Creat() As Integer
        End Function
        Public Function Updata() As Integer
        End Function
        Public Function Delete() As Integer
        End Function

        Public Function GetDataOnTable() As DataTable

            Me.dt = Me.database.DataTableResult(Me.strSql)
            Return dt
        End Function

        Public Function GetOneObj() As Object

            Return Me.database.ReadOneLog(Me.strSql)
        End Function

        Public Function ExecuteSql() As Integer
            Return Me.database.ExecuteNonQuery(Me.strSql)

        End Function
    End Class
End Namespace

这里以对用户表的操作为例,来说明EntityClass的结构,代码如下:

Imports System.Data

Namespace EntityClass
    Public Class S_User
        Inherits BaseEntity

        Const ARRAYLENGTH = 100


        Public Id_I As String
        ' 用户名
        Public UserName_S As String
        '用户密码
        Public Password_S As String

        'add by gb 20050725
        Dim array1(ARRAYLENGTH) As String
        Dim array2(ARRAYLENGTH, 1) As String
        Dim sqlarray(ARRAYLENGTH, 1) As String
        Dim len1 As Integer = 0
        Dim len2 As Integer = 0
        Dim sqllen As Integer = 0

        Private mydataset As New DataSet
        '对Array2赋初值
        Private Sub SetArray2()
            array2(0, 0) = "Id_I"
            array2(1, 0) = "UserName_S"
            array2(2, 0) = "Password_S"

            array2(0, 1) = Id_I
            array2(1, 1) = UserName_S
            array2(2, 1) = Password_S
        End Sub
        '通过读取数据库中的列名,对array1赋值
        Private Sub SetDBColoum()
            LoadDynamicDataset(mydataset)
            Dim m_i As Integer = 0
            Dim m_len As Integer = 0
            'm_len = Me.mydataset.Tables.Item(0).Select.Length()

            m_len = Me.mydataset.Tables.Item(0).Columns.Count

            'For m_i = 0 To ARRAYLENGTH
            '    If Not Me.mydataset.Tables.Item(0).Columns(m_i) Is Nothing Then
            '        m_len = m_len + 1
            '    End If
            'Next
            'MsgBox("m_len" + m_len.ToString)
            For m_i = 0 To m_len - 1
                array1(m_i) = Me.mydataset.Tables.Item(0).Columns(m_i).ColumnName.ToString
            Next

            'array1(0) = Me.mydataset.Tables.Item(0).Columns(0).ColumnName.ToString
            'array1(0) = "Id_I"
            'array1(1) = "Password_S"
        End Sub
        '通过array1和array2的处理,对sqlarray赋值;最后的结果是sqlarray中,依次对应数据库中的列的值
        Public Function SetDynamicColoum()
            SetArray2()
            SetDBColoum()
            len1 = 0
            len2 = 0
            sqllen = 0
            Dim i As Integer
            Dim j As Integer = 0
          
            For i = 0 To ARRAYLENGTH
                If Not array1(i) Is Nothing Then
                    len1 = len1 + 1
                Else
           

上一个:分层体系结构(MVC)三
下一个:分层体系结构(MVC)一

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,