答案:二、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 FunctionPublic Function Creat() As Integer
End Function
Public Function Updata() As Integer
End Function
Public Function Delete() As Integer
End FunctionPublic Function GetDataOnTable() As DataTable
Me.dt = Me.database.DataTableResult(Me.strSql)
Return dt
End FunctionPublic Function GetOneObj() As Object
Return Me.database.ReadOneLog(Me.strSql)
End FunctionPublic 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 BaseEntityConst 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 = 0Private 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)一