在好例子网,分享、交流、成长!
您当前所在位置:首页ASP 开发实例VB界面编程 → <赞>winform 宾馆酒店管理系统源码(含数据库脚本,vb开发语言)

<赞>winform 宾馆酒店管理系统源码(含数据库脚本,vb开发语言)

VB界面编程

下载此实例
  • 开发语言:ASP
  • 实例大小:3.44M
  • 下载次数:112
  • 浏览次数:924
  • 发布时间:2018-07-04
  • 实例类别:VB界面编程
  • 发 布 人:jzhjzh1
  • 文件格式:.zip
  • 所需积分:2
 相关标签: winform 系统 管理 ORM 宾馆

实例介绍

【实例简介】一个用winform做的宾馆酒店管理系统,附数据库

登陆账号:罗斌

登陆密码:123456

友情提示:实例中的 新增操作只是重置数据,你填写完毕数据后,点击保存按钮才真正保存到数据库

【实例截图】


from clipboard


from clipboard


from clipboard


from clipboard


from clipboard


from clipboard






【核心代码】


'文件名:BookForm.vb
Imports System.Data.SqlClient
Public Class BookForm
    Public MyOperator As String
    Public MyCompany As String

    Private Sub BookForm_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        '添加酒店房间类别ComboBox控件的列表项
        Dim MyConnection As New SqlConnection()
        MyConnection.ConnectionString = My.Settings.MyHotelConnectionString
        MyConnection.Open()
        Dim MyCommand As New SqlCommand("Select DISTINCT 类别  From 酒店房间", MyConnection)
        Dim MyReader As SqlDataReader = MyCommand.ExecuteReader()
        While (MyReader.Read())
            Me.酒店房间类别ComboBox.Items.Add(MyReader.GetString(0))
        End While
        Me.酒店房间类别ComboBox.Items.Add("所有房间")
        Me.酒店房间类别ComboBox.Text = "所有房间"
        If (MyConnection.State = ConnectionState.Open) Then
            MyConnection.Close()
        End If
    End Sub

    Private Sub 酒店房间类别ComboBox_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 酒店房间类别ComboBox.SelectedIndexChanged
        '获取未完全入住房间信息
        Me.酒店可用房间DataGridView.GridColor = Color.Blue
        Dim MySQLConnectionString As String = My.Settings.MyHotelConnectionString
        Dim MySQL As String = "Select 房号,单价,可容纳人数-已入住人数 as 可入住人数,楼层,类别,说明,可容纳人数,已入住人数 From 酒店房间 Where 类别='"   Me.酒店房间类别ComboBox.Text   "'"
        If (Me.酒店房间类别ComboBox.Text = "所有房间") Then
            MySQL = "Select 房号,单价,可容纳人数-已入住人数 as 可入住人数,楼层,类别,说明,可容纳人数,已入住人数 From 酒店房间 "
        End If
        Dim MyConnection As New SqlConnection(MySQLConnectionString)
        MyConnection.Open()
        Dim MyTable As New DataTable()
        Dim MyAdapter As New SqlDataAdapter(MySQL, MyConnection)
        MyAdapter.Fill(MyTable)
        Me.酒店可用房间DataGridView.DataSource = MyTable
        If (MyConnection.State = ConnectionState.Open) Then
            MyConnection.Close()
        End If
    End Sub

    Private Sub 酒店可用房间DataGridView_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 酒店可用房间DataGridView.Click
        '确定是否设置房号和住宿人数信息
        Me.房号TextBox.Text = Me.酒店可用房间DataGridView.CurrentRow.Cells(0).Value.ToString()
        Dim MyCount As Integer = Convert.ToInt16(Me.酒店可用房间DataGridView.CurrentRow.Cells(2).Value.ToString())
        Me.住宿人数ComboBox.Items.Clear()
        For i As Integer = 1 To MyCount Step 1
            Me.住宿人数ComboBox.Items.Add(i.ToString())
        Next
        Me.住宿人数ComboBox.Text = MyCount.ToString()
    End Sub

    Private Sub 新增Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 新增Button.Click
        Me.房号TextBox.Text = ""
        Me.预收押金TextBox.Text = ""
        Me.入住日期DateTimePicker.Value = DateTime.Now
        Me.离开日期DateTimePicker.Value = DateTime.Now
        Me.客人姓名TextBox.Text = ""
        Me.住宿人数ComboBox.Text = "0"
        Me.客人性别ComboBox.Text = "男"
        Me.联系电话TextBox.Text = ""
        Me.操作人员TextBox.Text = Me.MyOperator
        '自动计算自编号
        Dim MySQLConnectionString As String = My.Settings.MyHotelConnectionString
        Dim MyConnection As New SqlConnection(MySQLConnectionString)
        MyConnection.Open()
        Dim MyCommand As SqlCommand = MyConnection.CreateCommand()
        MyCommand.CommandText = "Select max(预约编号) 最大编号 From 客房预约单"
        Dim MyResult As Object = MyCommand.ExecuteScalar()

        Dim MyID As System.Int64 = 1
        If (Not (MyResult Is System.DBNull.Value)) Then
            Dim MyMaxID As String = MyResult.ToString().Trim()
            MyMaxID = MyMaxID.Substring(2, MyMaxID.Length - 2)
            MyID = Convert.ToInt64(MyMaxID)   1
        End If
        Dim MyLength As Integer = MyID.ToString().Length
        Dim MyNewID As String = ""
        Select Case (MyLength)
            Case 1
                MyNewID = "YY0000000"   MyID.ToString()
            Case 2
                MyNewID = "YY000000"   MyID.ToString()
            Case 3
                MyNewID = "YY00000"   MyID.ToString()
            Case 4
                MyNewID = "YY0000"   MyID.ToString()
            Case 5
                MyNewID = "YY000"   MyID.ToString()
            Case 6
                MyNewID = "YY00"   MyID.ToString()
            Case 7
                MyNewID = "YY0"   MyID.ToString()
        End Select
        If (MyConnection.State = ConnectionState.Open) Then
            MyConnection.Close()
        End If
        Me.预约编号TextBox.Text = MyNewID
    End Sub

    Private Sub 打印Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 打印Button.Click
        Me.printPreviewDialog1.Document = Me.printDocument1
        Me.printPreviewDialog1.ShowDialog()
    End Sub

    Private Sub printDocument1_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles printDocument1.PrintPage
        '打印入住单
        e.Graphics.DrawString(Me.MyCompany   "客房预约单", New Font("宋体", 20), Brushes.Black, 220, 80)
        e.Graphics.DrawString("预约编号:"   Me.预约编号TextBox.Text, New Font("宋体", 12), Brushes.Black, 100, 150)
        Dim MyPrintTime As DateTime = DateTime.Now
        e.Graphics.DrawString("打印日期:"   MyPrintTime.ToLongDateString()   MyPrintTime.ToLongTimeString(), New Font("宋体", 12), Brushes.Black, 450, 150)
        e.Graphics.DrawLine(New Pen(Color.Black), 100, 180, 720, 180)
        e.Graphics.DrawLine(New Pen(Color.Black), 100, 220, 720, 220)
        e.Graphics.DrawLine(New Pen(Color.Black), 100, 260, 720, 260)
        e.Graphics.DrawLine(New Pen(Color.Black), 100, 300, 720, 300)
        'e.Graphics.DrawLine(new Pen(Color.Black), 100, 340, 720, 340)

        e.Graphics.DrawLine(New Pen(Color.Black), 100, 180, 100, 300)
        e.Graphics.DrawLine(New Pen(Color.Black), 220, 180, 220, 260)
        e.Graphics.DrawLine(New Pen(Color.Black), 400, 180, 400, 300)
        e.Graphics.DrawLine(New Pen(Color.Black), 720, 180, 720, 300)

        e.Graphics.DrawString("房号:"   Me.房号TextBox.Text, New Font("宋体", 12), Brushes.Black, 105, 190)
        e.Graphics.DrawString("姓名:"   Me.客人姓名TextBox.Text, New Font("宋体", 12), Brushes.Black, 105, 230)
        e.Graphics.DrawString("联系电话:"   Me.联系电话TextBox.Text, New Font("宋体", 12), Brushes.Black, 405, 190)
        e.Graphics.DrawString("人数:"   Me.住宿人数ComboBox.Text, New Font("宋体", 12), Brushes.Black, 405, 230)

        e.Graphics.DrawString("性别:"   Me.客人性别ComboBox.Text, New Font("宋体", 12), Brushes.Black, 225, 190)
        e.Graphics.DrawString("预收押金:"   Me.预收押金TextBox.Text, New Font("宋体", 12), Brushes.Black, 225, 230)

        If (Me.入住日期DateTimePicker.Value.ToString().Length > 0) Then
            e.Graphics.DrawString("入住日期:"   Me.入住日期DateTimePicker.Value.ToString().Remove(10), New Font("宋体", 12), Brushes.Black, 105, 270)
        End If
        If (Me.离开日期DateTimePicker.Value.ToString().Length > 0) Then
            e.Graphics.DrawString("离开日期:"   Me.离开日期DateTimePicker.Value.ToString().Remove(10), New Font("宋体", 12), Brushes.Black, 405, 270)
        End If
        e.Graphics.DrawString("操作员:"   Me.操作人员TextBox.Text, New Font("宋体", 12), Brushes.Black, 600, 310)

        e.Graphics.DrawString("温馨提示:为了维护您及他人的合法权益,请不要带未经登记的人员进出您的房间。", New Font("宋体", 12), Brushes.Black, 100, 330)
        e.Graphics.DrawString("警察提示:请保管好您的物品,重要物品请寄存于酒店寄存处,免费寄存!", New Font("宋体", 12), Brushes.Black, 100, 350)
        e.Graphics.DrawString("谢谢合作!", New Font("宋体", 20), Brushes.Black, 550, 380)

    End Sub

    Private Sub 保存Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 保存Button.Click
        If (MessageBox.Show("请检查旅客预约信息是否正确,一旦保存就无法修改,是否继续?", "信息提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.No) Then
            Return
        End If
        Dim MySQLConnectionString As String = My.Settings.MyHotelConnectionString
        Dim MySQL As String = "INSERT INTO [客房预约单] ([预约编号], [房号], [预收押金], [入住日期], [离开日期], [客人姓名],[住宿人数], [客人性别], [联系电话], [操作人员]) VALUES (@预约编号, @房号, @预收押金, @入住日期, @离开日期, @客人姓名,@住宿人数, @客人性别, @联系电话, @操作人员)"
        Dim MyConnection As New SqlConnection(MySQLConnectionString)
        MyConnection.Open()
        Dim MyCommand As SqlCommand = MyConnection.CreateCommand()
        MyCommand.CommandText = MySQL
        MyCommand.Parameters.Add(New SqlParameter("@预约编号", SqlDbType.VarChar))
        MyCommand.Parameters.Add(New SqlParameter("@房号", SqlDbType.VarChar))
        MyCommand.Parameters.Add(New SqlParameter("@预收押金", SqlDbType.Float))
        MyCommand.Parameters.Add(New SqlParameter("@入住日期", SqlDbType.DateTime))
        MyCommand.Parameters.Add(New SqlParameter("@离开日期", SqlDbType.DateTime))
        MyCommand.Parameters.Add(New SqlParameter("@客人姓名", SqlDbType.VarChar))
        MyCommand.Parameters.Add(New SqlParameter("@住宿人数", SqlDbType.Int))
        MyCommand.Parameters.Add(New SqlParameter("@客人性别", SqlDbType.VarChar))
        MyCommand.Parameters.Add(New SqlParameter("@联系电话", SqlDbType.VarChar))
        MyCommand.Parameters.Add(New SqlParameter("@操作人员", SqlDbType.VarChar))

        MyCommand.Parameters("@预约编号").Value = Me.预约编号TextBox.Text
        MyCommand.Parameters("@房号").Value = Me.房号TextBox.Text
        MyCommand.Parameters("@预收押金").Value = Me.预收押金TextBox.Text
        MyCommand.Parameters("@入住日期").Value = Me.入住日期DateTimePicker.Value
        MyCommand.Parameters("@离开日期").Value = Me.离开日期DateTimePicker.Value
        MyCommand.Parameters("@客人姓名").Value = Me.客人姓名TextBox.Text
        MyCommand.Parameters("@住宿人数").Value = Me.住宿人数ComboBox.Text
        MyCommand.Parameters("@客人性别").Value = Me.客人性别ComboBox.Text
        MyCommand.Parameters("@联系电话").Value = Me.联系电话TextBox.Text
        MyCommand.Parameters("@操作人员").Value = Me.操作人员TextBox.Text
        MyCommand.ExecuteNonQuery()
        MySQL = "Update 酒店房间 Set 已入住人数=已入住人数 "   Me.住宿人数ComboBox.Text   " WHERE 房号='"   Me.房号TextBox.Text   "'"
        MyCommand.CommandText = MySQL
        MyCommand.ExecuteNonQuery()
        If (MyConnection.State = ConnectionState.Open) Then
            MyConnection.Close()
        End If
        酒店房间类别ComboBox_SelectedIndexChanged(Nothing, Nothing)
        新增Button_Click(Nothing, Nothing)
    End Sub
End Class


实例下载地址

<赞>winform 宾馆酒店管理系统源码(含数据库脚本,vb开发语言)

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警