?? clsuser.vb
字號:
?'****************************************************************************
'人人為我,我為人人
'枕善居漢化收藏整理
'發布日期:2007/07/23
'描 述:網吧計費管理系統客戶端/服務器端
'網 站:http://www.Mndsoft.com/ (VB6源碼博客)
'網 站:http://www.VbDnet.com/ (VB.NET源碼博客,主要基于.NET2005)
'e-mail :Mndsoft@163.com
'e-mail :Mndsoft@126.com
'OICQ :88382850
' 如果您有新的好的代碼別忘記給枕善居哦!
'****************************************************************************
Imports System.Net.Sockets
Imports System.Text
Public Class ClsUser
Public UserName As String
Public Password As String
Public RealName As String
Public Group As String
Public Fee As Double
Public BirthDate As String
Public Phone As String
Public ValidDate As String
Public CreateCardDate As String
Public CertificateType As String
Public CertificateNo As String
Public Address As String
Public PostCode As String
Public Memo As String
Public LoginTime As Date
Public Event LineRecived(ByVal sender As Object, ByVal data As String)
Const READ_BUFFER_SIZE As Integer = 255
Private readbuffer(READ_BUFFER_SIZE) As Byte
Private _Client As TcpClient
Public Sub Init(ByVal client As TcpClient)
_client = client
_client.GetStream.BeginRead(readbuffer, 0, READ_BUFFER_SIZE, AddressOf StreamReceiver, Nothing)
End Sub
Private Sub StreamReceiver(ByVal ar As IAsyncResult)
Dim BytesRead As Integer
Dim Message As String
SyncLock _client.GetStream
BytesRead = _client.GetStream.EndRead(ar)
End SyncLock
Message = Encoding.ASCII.GetString(readbuffer, 0, BytesRead)
RaiseEvent LineRecived(Me, Message)
_Client.GetStream.BeginRead(readbuffer, 0, READ_BUFFER_SIZE, AddressOf StreamReceiver, Nothing)
End Sub
Public Sub SendData(ByVal data As String)
Dim writer As New IO.StreamWriter(_client.GetStream)
writer.Write(data & Chr(13) & Chr(10))
writer.Flush()
End Sub
Function LogConfirm() As Integer
Dim RemainFee As Double
Dim SQLString As String
SQLString = "SELECT * FROM tbUser WHERE UserName='" & UserName & "'"
'SQL查詢語句
Dim UserTable As DataTable = ClsDBOperation.DBOperate(SQLString)
If UserTable.Rows.Count = 0 Then
Return 0 '輸入的編號或密碼錯誤
End If
RemainFee = UserTable.Rows(0)("Fee")
If RemainFee <= 0 Then
Return -1 '余額不足
Else
Return 1 '成功退出
End If
End Function
Function UserExist() As Boolean
Dim SQLString As String
SQLString = "SELECT * FROM tbUser WHERE UserName='" & Trim(UserName) & "' "
Dim UserTable As DataTable = ClsDBOperation.DBOperate(SQLString)
If UserTable.Rows.Count <> 0 Then
Return True
Else
Return False
End If
End Function
Function Checkout() As Boolean
Dim UsedHour As TimeSpan
UsedHour = LogoffTime - LoginTime
Dim TotalHour As Double
TotalHour = UsedHour.TotalHours
If TotalHour < 0.5 Then
TotalHour = 0.5 '不足半小時,按半小時計算
End If
Dim Payment As Double
Dim TempFeeRules As New ClsFeeRules
TempFeeRules.Group = Group
TempFeeRules.GetAmount()
Payment = TotalHour * TempFeeRules.Amount
SetFee(-Payment)
Return True
End Function
Sub SetFee(ByVal NewFee As Double) '加款結帳的方法
Dim SQLString As String
SQLString = "SELECT Fee FROM tbUser WHERE UserName='" & UserName & "'"
Dim UserTable As DataTable = ClsDBOperation.DBOperate(SQLString)
Fee = NewFee + UserTable.Rows(0)(0)
SQLString = "UPDATE tbUser SET Fee='" & Fee & "'"
ClsDBOperation.DBOperate(SQLString)
End Sub
Sub AddUser()
Dim SQLString As String
SQLString = "INSERT INTO tbUser VALUES('" & UserName & "','" & Password & "','" & RealName & "','" & Group & "','" & Fee & "','" & BirthDate & "','" & Phone & "','" & ValidDate & "','" & CreateCardDate & "','" & CertificateType & "','" & CertificateNo & "','" & Address & "','" & PostCode & "','" & Memo & "')"
ClsDBOperation.DBOperate(SQLString)
End Sub
Sub AddFeeList(ByVal ComputerPos As String)
Dim SQLString As String
Dim UsedHour As TimeSpan
UsedHour = LogoffTime - LoginTime
Dim TotalHour As Double
TotalHour = UsedHour.TotalHours
SQLString = "INSERT INTO tbFeeList VALUES('" & UserName & "','" & LogoffTime & "','" & LogoffTime & "','" & TotalHour & "','" & Fee & "','" & ComputerPos & "')"
ClsDBOperation.DBOperate(SQLString)
End Sub
Public Sub Delete()
Dim SQLString As String
SQLString = "DELETE FROM tbUser WHERE UserName='" & UserName & "'"
ClsDBOperation.DBOperate(SQLString)
'還要刪除該用戶其它相關上機記錄
End Sub
Public Sub GetInfo()
Dim SQLString As String
SQLString = "SELECT * FROM tbUser WHERE UserName='" & UserName & "'"
Dim DTable As DataTable = ClsDBOperation.DBOperate(SQLString)
UserName = DTable.Rows(0)("UserName")
Password = DTable.Rows(0)("Password")
RealName = DTable.Rows(0)("RealName")
Group = DTable.Rows(0)("Group")
Fee = DTable.Rows(0)("Fee")
BirthDate = DTable.Rows(0)("BirthDate")
Phone = DTable.Rows(0)("Phone")
ValidDate = DTable.Rows(0)("ValidDate")
CreateCardDate = DTable.Rows(0)("CreateCardDate")
CertificateType = DTable.Rows(0)("CertificateType")
CertificateNo = DTable.Rows(0)("CertificateNo")
Address = DTable.Rows(0)("Address")
PostCode = DTable.Rows(0)("PostCode")
Memo = DTable.Rows(0)("Memo")
End Sub
Function FeeList() As DataTable
Dim SQLString As String
SQLString = "SELECT UserName AS 用戶名, Computer AS 計算機, LoginTime As 登錄時間, LogoffTime As 下機時間, TotalHour As 使用時間, Fee As 費用 FROM tbFeeList WHERE UserName='" & UserName & "'"
Dim DTable As DataTable = ClsDBOperation.DBOperate(SQLString)
Return DTable
End Function
Shared Function LoadUser(ByVal Field As String, ByVal Value As String) As DataTable
Dim SQLString As String
Dim Column As String = ""
Column += "UserName AS 用戶名, Password AS 密碼,RealName AS 用戶姓名,"
Column += "Group AS 用戶類型, Fee AS 賬號余額,"
Column += "BirthDate AS 出生日期, Phone AS 聯系電話,"
Column += "ValidDate AS 有效日期, CertificateType AS 證件類型,"
Column += "CertificateNo AS 證件號碼, Address AS 住址,"
Column += "PostCode AS 郵編, Memo AS 備注"
If Field = "" Then
SQLString = "SELECT " & Column & " FROM tbUser"
Else
SQLString = "SELECT " & Column & " FROM tbUser WHERE " & Field & "='" & Value & "'"
End If
Return ClsDBOperation.DBOperate(SQLString)
End Function
End Class
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -