⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 clsuser.vb

📁 网吧计费管理系统,服务器端和客户端的源代码
💻 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 LogoffTime 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 + -