各位都来讨论一下这个问题吧?
关于分层,我现在这样处理:
功能说明:在show.aspx显示用户详细资料,并增加1点击量
一、展示层
show.aspx
show.aspx.vb
代码:
Dim u As New UserDB
u.VisitIncrease(Session("UserID"), 1) '增加1点击量
lblUserDetail.Text = u.GetDetailInfo(Session("UserID")) '用户详细资料
二、业务逻辑(伪:含数据库操作)
Public Class UserDB
'增加用户点击量
Public Function VisitIncrease(UserID As Integer, IncreaseNumber As Integer) As Integer
Dim SQL As String
SQL = String.Format("Update UserInfo Set Visit = Visit + {1} Where UserID = {0}", UserID, IncreaseNumber)
Return DB.ExecuteNonQuery(SQL)
End Function
'用户详细资料
Public Function GetDetailInfo(UserID As Integer) As String
Dim SQL As String
SQL = String.Format("Select Detail From UserInfo Where UserID = {0}", UserID)
Return DB.ExecuteScalar(SQL).ToString()
End Function
End Class
三、数据库
Public Class DB
'执行SQL语句
Public Shared Function ExecuteNonQuery(SQL As String) As Integer
Dim cn As New SqlConnection(GetConnectionString(ConnectionName))
Dim cmd As New SqlCommand
Dim RowAffect As Integer
cmd.Connection = cn
cmd.CommandText = SQL
cn.Open()
RowAffect = cmd.ExecuteNonQuery()
cn.Close()
Return RowAffect
End Function
'查询SQL语句,返回单一值
Public Shared Function ExecuteScalar(SQL As String) As Object
Dim cn As New SqlConnection(GetConnectionString(ConnectionName))
Dim cmd As New SqlCommand
Dim val As Object
cmd.Connection = cn
cmd.CommandText = SQL
cn.Open()
val = cmd.ExecuteScalar()
cn.Close()
return val
End Function
End Class