vb.net机房收费系统一个小功能的实现

前端之家收集整理的这篇文章主要介绍了vb.net机房收费系统一个小功能的实现前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。


经过不懈的努力,和不断地完善,今天终于将一个简单的功能利用上次画的包图实现了,让我对三层和设计模式有了一点新的理解

代码


  1. '/*************************************************
  2. '作者:许恕
  3. '小组:
  4. '说明:上机窗体的编码
  5. '创建日期:2013年1月30日
  6. '版本号:1.0.0
  7. '**********************************************/
  8.  
  9.  
  10. '上机窗体
  11. Public Class FrmOnLine
  12.  
  13. '上机
  14. Private Sub ButOnLine_Click(sender As Object,e As EventArgs) Handles ButOnLine.Click
  15. Dim card As New Model.CardModel
  16. Dim lineFacade As New Facade.LineFacade
  17.  
  18. card.Card_Id = TxtCardId.Text
  19. card.Card_PassWord = TxtPassWord.Text
  20. If lineFacade.Online(card) Then
  21. MsgBox("登陆成功!")
  22. End If
  23. End Sub
  24.  
  25. End Class
  26.  
  27.  
  28. '/*************************************************
  29. '作者:许恕
  30. '小组:
  31. '说明:实体层卡的的编码
  32. '创建日期:2013年1月30日
  33. '版本号:1.0.0
  34. '**********************************************/
  35. Public Class CardModel
  36. Private cardId As Integer
  37. Private password As String
  38. Private level As String
  39. Private balance As String
  40.  
  41. '卡号的读取
  42. Public Property Card_Id As Integer
  43. Get
  44. Return cardId
  45. End Get
  46. Set(value As Integer)
  47. cardId = value
  48. End Set
  49. End Property
  50.  
  51. '密码的读取
  52. Public Property Card_PassWord As String
  53. Get
  54. Return password
  55. End Get
  56. Set(value As String)
  57. password = value
  58. End Set
  59. End Property
  60.  
  61. '级别的读取
  62. Public Property Card_Level As String
  63. Get
  64. Return level
  65. End Get
  66. Set(value As String)
  67. level = value
  68. End Set
  69. End Property
  70.  
  71. '余额的读取
  72. Public Property Card_Balance As String
  73. Get
  74. Return balance
  75. End Get
  76. Set(value As String)
  77. balance = value
  78. End Set
  79. End Property
  80.  
  81.  
  82. End Class
  83.  
  84.  
  85. '/*************************************************
  86. '作者:许恕
  87. '小组:
  88. '说明:基本数据接口的编码
  89. '创建日期:2013年1月30日
  90. '版本号:1.0.0
  91. '**********************************************/
  92. '卡表的服务接口
  93. Public Interface ICardSeverDAL
  94. '测试卡号密码是否正确
  95. Function Test(card As Model.CardModel) As Boolean
  96.  
  97. '增加卡号
  98. Function Add(card As Model.CardModel) As Boolean
  99.  
  100. '删除卡号
  101. Function Delete(card As Model.CardModel) As Boolean
  102.  
  103. '编辑卡号
  104. Function Edit(card As Model.CardModel) As Boolean
  105.  
  106. '查询卡号
  107. Function CheckInformation(card As Model.CardModel) As Model.CardForStudentModel()
  108.  
  109.  
  110. End Interface
  111.  
  112.  
  113.  
  114. '/*************************************************
  115. '作者:许恕
  116. '小组:
  117. '说明:上下机工厂
  118. '创建日期:2013年1月30日
  119. '版本号:1.0.0
  120. '**********************************************/
  121.  
  122. Imports System.Reflection
  123.  
  124. '关于上下机的工厂
  125. Public Class LineFactory
  126.  
  127.  
  128.  
  129. '创造卡表的服务类
  130. Public Function CreatCardSeverDAL() As IDAL.ICardSeverDAL
  131. Dim ICardDAL As IDAL.ICardSeverDAL
  132. Dim asmName As String
  133. Dim className As String
  134.  
  135. asmName = "DAL"
  136. className = asmName + "." + "sqlseverCardSeverDAL"
  137.  
  138. '利用反射生成需要的类
  139. ICardDAL = CType(Assembly.Load(asmName).CreateInstance(className),IDAL.ICardSeverDAL)
  140. Return ICardDAL
  141.  
  142. End Function
  143. End Class
  144.  
  145.  
  146. '/*************************************************
  147. '作者:许恕
  148. '小组:
  149. '说明:上下机外观
  150. '创建日期:2013年1月30日
  151. '版本号:1.0.0
  152. '**********************************************/
  153.  
  154. '上下机的外观类
  155. Public Class LineFacade
  156. Dim lineObject As BLL.LineBll
  157.  
  158. Sub New()
  159. lineObject = New BLL.LineBll
  160. End Sub
  161.  
  162. '上机
  163. Public Function Online(card As Model.CardModel) As Boolean
  164. Return lineObject.TestUser(card)
  165. End Function
  166.  
  167. End Class
  168.  
  169.  
  170. '/*************************************************
  171. '作者:许恕
  172. '小组:
  173. '说明:数据操作层的编码
  174. '创建日期:2013年1月30日
  175. '版本号:1.0.0
  176. '**********************************************/
  177.  
  178.  
  179.  
  180. 'D层关于上下机的一类
  181. '卡表
  182. Public Class sqlseverCardSeverDAL : Implements IDAL.ICardSeverDAL
  183.  
  184.  
  185. Private str_sqlConnection As String
  186.  
  187. '连接数据库
  188. Public Sub New()
  189. str_sqlConnection = ConfigurationManager.AppSettings("sqlConnectionString")
  190. End Sub
  191.  
  192.  
  193. '测试卡是否存在
  194. Public Function Test(card As CardModel) As Boolean Implements ICardSeverDAL.Test
  195. Dim sqlString As String
  196. Dim MyCmd As sqlCommand
  197. Dim MyConn As sqlConnection
  198. Dim MyReader As sqlDataReader
  199.  
  200. sqlString = "select * from T_Cardinfo where card_id='" & card.Card_Id & "' and password='" & card.Card_PassWord & "'"
  201. MyConn = New sqlConnection(str_sqlConnection)
  202. MyCmd = New sqlCommand(sqlString,MyConn)
  203. Try
  204. MyConn.Open()
  205. MyReader = MyCmd.ExecuteReader
  206.  
  207.  
  208. If MyReader.Read() Then
  209.  
  210. MyReader.Close()
  211. MyConn.Close()
  212.  
  213. Return True
  214. Else
  215.  
  216. Return False
  217. End If
  218.  
  219. Catch ex As Exception
  220. MsgBox(ex.Message)
  221. Return Nothing
  222. End Try
  223. End Function
  224. End class
  225.  
  226.  
  227. '/*************************************************
  228. '作者:许恕
  229. '小组:
  230. '说明:商务逻辑层的编码
  231. '创建日期:2013年1月30日
  232. '版本号:1.0.0
  233. '**********************************************/
  234.  
  235. 'B层的上下机类
  236. Public Class LineBll
  237.  
  238. '测试用户是否存在
  239. Public Function TestUser(card As Model.CardModel) As Boolean
  240. Dim lineFactory As New Factory.LineFactory
  241. Dim icard As IDAL.ICardSeverDAL
  242. icard = lineFactory.CreatCardSeverDAL
  243.  
  244. Return icard.Test(card)
  245.  
  246. End Function
  247. End Class

猜你在找的VB相关文章