clsMerch.cls
Upload User: czxfzx
Upload Date: 2015-02-25
Package Size: 749k
Code Size: 6k
Development Platform:

Visual Basic

  1. VERSION 1.0 CLASS
  2. BEGIN
  3.   MultiUse = -1  'True
  4.   Persistable = 0  'NotPersistable
  5.   DataBindingBehavior = 0  'vbNone
  6.   DataSourceBehavior  = 0  'vbNone
  7.   MTSTransactionMode  = 0  'NotAnMTSObject
  8. END
  9. Attribute VB_Name = "clsMerch"
  10. Attribute VB_GlobalNameSpace = False
  11. Attribute VB_Creatable = True
  12. Attribute VB_PredeclaredId = False
  13. Attribute VB_Exposed = False
  14. Attribute VB_Ext_KEY = "SavedWithClassBuilder6" ,"Yes"
  15. Attribute VB_Ext_KEY = "Top_Level" ,"Yes"
  16. Option Explicit
  17. '保持属性值的局部变量
  18. Private mvarID As Long          '商品编号
  19. Private mvarMerchName As String '商品名称
  20. Private mvarIntroduce As String '商品介绍
  21. Private mvarTypeId As Long      '商品类型ID
  22. Private mvarStorage As Long     '库存量
  23. Private mvarUnitID As Long      '单位编号
  24. Private mvarRemark As String    '备注
  25. Private mvarTypeName As String  '商品类型名称
  26. Public Property Let TypeName(ByVal vData As String)
  27. '向属性指派值时使用,位于赋值语句的左边。
  28. 'Syntax: X.TypeName = 5
  29.     mvarTypeName = vData
  30. End Property
  31. Public Property Get TypeName() As String
  32. '检索属性值时使用,位于赋值语句的右边。
  33. 'Syntax: Debug.Print X.TypeName
  34.     TypeName = mvarTypeName
  35. End Property
  36. Public Property Let Remark(ByVal vData As String)
  37. '向属性指派值时使用,位于赋值语句的左边。
  38. 'Syntax: X.Remark = 5
  39.     mvarRemark = vData
  40. End Property
  41. Public Property Get Remark() As String
  42. '检索属性值时使用,位于赋值语句的右边。
  43. 'Syntax: Debug.Print X.Remark
  44.     Remark = mvarRemark
  45. End Property
  46. Public Property Let UnitID(ByVal vData As Long)
  47. '向属性指派值时使用,位于赋值语句的左边。
  48. 'Syntax: X.UnitID = 5
  49.     mvarUnitID = vData
  50. End Property
  51. Public Property Get UnitID() As Long
  52. '检索属性值时使用,位于赋值语句的右边。
  53. 'Syntax: Debug.Print X.UnitID
  54.     UnitID = mvarUnitID
  55. End Property
  56. Public Property Let Storage(ByVal vData As Long)
  57. '向属性指派值时使用,位于赋值语句的左边。
  58. 'Syntax: X.Storage = 5
  59.     mvarStorage = vData
  60. End Property
  61. Public Property Get Storage() As Long
  62. '检索属性值时使用,位于赋值语句的右边。
  63. 'Syntax: Debug.Print X.Storage
  64.     Storage = mvarStorage
  65. End Property
  66. Public Property Let TypeId(ByVal vData As Long)
  67. '向属性指派值时使用,位于赋值语句的左边。
  68. 'Syntax: X.TypeId = 5
  69.     mvarTypeId = vData
  70. End Property
  71. Public Property Get TypeId() As Long
  72. '检索属性值时使用,位于赋值语句的右边。
  73. 'Syntax: Debug.Print X.TypeId
  74.     TypeId = mvarTypeId
  75. End Property
  76. Public Property Let Introduce(ByVal vData As String)
  77. '向属性指派值时使用,位于赋值语句的左边。
  78. 'Syntax: X.Introduce = 5
  79.     mvarIntroduce = vData
  80. End Property
  81. Public Property Get Introduce() As String
  82. '检索属性值时使用,位于赋值语句的右边。
  83. 'Syntax: Debug.Print X.Introduce
  84.     Introduce = mvarIntroduce
  85. End Property
  86. Public Property Let MerchName(ByVal vData As String)
  87. '向属性指派值时使用,位于赋值语句的左边。
  88. 'Syntax: X.MerchName = 5
  89.     mvarMerchName = vData
  90. End Property
  91. Public Property Get MerchName() As String
  92. '检索属性值时使用,位于赋值语句的右边。
  93. 'Syntax: Debug.Print X.MerchName
  94.     MerchName = mvarMerchName
  95. End Property
  96. Public Property Let ID(ByVal vData As Long)
  97. '向属性指派值时使用,位于赋值语句的左边。
  98. 'Syntax: X.ID = 5
  99.     mvarID = vData
  100. End Property
  101. Public Property Get ID() As Long
  102. '检索属性值时使用,位于赋值语句的右边。
  103. 'Syntax: Debug.Print X.ID
  104.     ID = mvarID
  105. End Property
  106. Public Function AddNew() As gxcAddNew
  107.   Dim strSQL As String
  108.   '检测输入名称是否存在
  109.   If ExistByName("Merchandise", "M_Name_S", Me.MerchName) Then
  110.     AddNew = DuplicateName_AddNew
  111.     Exit Function
  112.   End If
  113.  
  114.   strSQL = "INSERT INTO Merchandise(M_Name_S, M_Introduce_S, M_TypeId_N, M_Remark_R) "
  115.   strSQL = strSQL & " VALUES("
  116.   strSQL = strSQL & "'" & Me.MerchName & "'"   '商品名称
  117.   strSQL = strSQL & ",'" & Me.Introduce & "'"  '商品介绍
  118.   strSQL = strSQL & ",'" & Me.TypeId & "'"     '商品类型ID
  119.   strSQL = strSQL & ",'" & Me.Remark & "'"     '备注
  120.   strSQL = strSQL & ")"
  121.   
  122.   '执行SQL语句
  123.   g_Conn.Execute strSQL
  124.   
  125.   '如果发生错误,则返回AddNewFail,表示未成功添加
  126.   If Err.Number = 0 Then
  127.     Me.ID = MaxID("Merchandise", "M_ID_N")
  128.     AddNew = AddNewOK
  129.   Else
  130.     AddNew = AddNewFail
  131.   End If
  132.   
  133. End Function
  134. Public Function Update() As gxcUpdate
  135.   Dim strSQL As String
  136.   
  137.   '通过ID判断是否存在该记录,即该记录是否被其它商品端删除
  138.   '如果不存在该记录,则返回相应的操作结果给调用者
  139.   If Not ExistByID("Merchandise", "M_ID_N", Me.ID) Then
  140.     Update = RecordNotExist
  141.     Exit Function
  142.   End If
  143.   
  144.   '通过名称判断是否存在相同名称的记录,如果存在相同的名称,
  145.   '则返回调用者“存在相同名称”的信息
  146.   If ExistByNameExceptID("Merchandise", _
  147.                       "M_ID_N", Me.ID, _
  148.                       "M_NAME_S", Me.MerchName) Then
  149.     Update = DuplicateName_Update
  150.     Exit Function
  151.   End If
  152.   
  153.   '构造SQL语句,注意需调用RealString函数去除字符串中的单引号
  154.   strSQL = "Update Merchandise SET "
  155.   strSQL = strSQL & "M_Name_S='" & RealString(Me.MerchName) & "',"
  156.   strSQL = strSQL & "M_Introduce_S='" & RealString(Me.Introduce) & "',"
  157.   strSQL = strSQL & "M_TypeId_N='" & Me.TypeId & "',"
  158.   strSQL = strSQL & "M_Storage_N='" & Me.Storage & "',"
  159.   strSQL = strSQL & "M_UnitId_N='" & Me.UnitID & "',"
  160.   strSQL = strSQL & "M_Remark_R='" & Me.Remark & "' "
  161.   strSQL = strSQL & " WHERE M_ID_N=" & Me.ID
  162.   
  163.   g_Conn.Execute strSQL '执行SQL语句
  164.   
  165.   '根据是否出错,返回给调用者相应的信息
  166.   Update = IIf(Err.Number = 0, UpdateOK, UpdateFail)
  167. End Function
  168. Public Function Delete(Optional lngID As Long = -1) As gxcDelete
  169.   Dim strSQL As String
  170.   
  171.   '如果已传入了要删除的ID,则按此ID删除
  172.   If lngID <> -1 Then Me.ID = lngID
  173.   '以下四个操作要同时发生
  174.   g_Conn.BeginTrans
  175.   
  176.   '删除Buy表中的相关记录
  177.   strSQL = "DELETE FROM Buy WHERE B_MerchandiseID_N=" & Me.ID
  178.   g_Conn.Execute strSQL
  179.   '删除Sell表中的相关记录
  180.   strSQL = "DELETE FROM Sell WHERE S_MerchandiseID_N =" & Me.ID
  181.   g_Conn.Execute strSQL
  182.   '删除Dispose表中的记录
  183.   strSQL = "DELETE FROM Dispose WHERE D_MerchandiseID_N=" & Me.ID
  184.   '删除Merchandise表中的信息
  185.   strSQL = "DELETE FROM Merchandise WHERE M_ID_N=" & Me.ID
  186.   g_Conn.Execute strSQL
  187.   
  188.   g_Conn.CommitTrans
  189.   '如果发生错误,则返回FALSE,表示未删除成功
  190.   Delete = IIf(Err.Number = 0, DeleteOK, DeleteFail)
  191.   
  192. End Function