VB.Net Hotel Management System Source Code


Hotel Management System In Visual Basic.Net And MySQL Database With Source Code

VB.Net Hotel Management System Project


in this visual basic .net project tutorial we will see how to create a simple desktop application with winforms to manage hotel reservations using vb.net programming language and mysql database.



goals of this project:

- give students / curious persons an example so they can learn from.

give beginners a step by step project so they can create their own. 
- help people to learn vb.net by making projects.

sharing knowledge with others.




tools:
- visual basic .net programming language.
- visual studio express 2013.

- mysql database.
- xampp server.
- phpmyadmin.



Watch The Full Project Tutorial



in this project we will create 4 classes and 4 forms:
- classes: 
* CONNECTION > create the connection with mysql database.
* ClIENT > where we will add functions for the client.
* ROOMS > where we will add functions for the room. 
* RESERVATIONS > where we will add functions for the reservation.  

- forms: 
* Login > where the user can enter his username to login.
* Manage Clients > where we will manage the hotel client informations.
* Manage Rooms > where we will mange the hotel's rooms. 
* Manage Reservations > where we will add functions for the reservation.  

> and you need to download mysql connector from here -> https://dev.mysql.com/downloads/connector/net/8.0.html


1 - The Login Form 

before getting access to the main form the user need to login first by entering his username and password.
and we will check if the username/password textbox are empty.
and if the user enter the wrong username or password or this user doesn't exists at all.

The Login Button: 

Private Sub ButtonLogin_Click(sender As Object, e As EventArgs) Handles ButtonLogin.Click

        Dim connection As New CONNECTION()
        Dim adapter As New MySqlDataAdapter()
        Dim command As New MySqlCommand()
        Dim table As New DataTable()
        Dim username As String = TextBoxUsername.Text
        Dim password As String = TextBoxPassword.Text
        Dim selectQuery As String = "SELECT * FROM `users` WHERE `username`=@un AND `password`=@pass"

        command.CommandText = selectQuery
        command.Connection = connection.getConnection()

        command.Parameters.Add("@un", MySqlDbType.VarChar).Value = username
        command.Parameters.Add("@pass", MySqlDbType.VarChar).Value = password

        adapter.SelectCommand = command
        adapter.Fill(table)

        If table.Rows.Count > 0 Then

            Dim mainForm As New MainForm()
            mainForm.Show()
            Me.Hide()

        Else

            MessageBox.Show("Invalid Username Or Password", "Login Error", MessageBoxButtons.OK, MessageBoxIcon.Error)

        End If

    End Sub



vb.net hotel management system - login form



if the user enter the correct username and password we will show him the main form.

2 - The Main Form

this is a quick and easy from with a menu created with a panel and labels to take the user to the selected form on label click. 

    Private Sub LabelMClients_Click(sender As Object, e As EventArgs) Handles LabelMClients.Click

        Dim manage_Cl_Form As New ManageClientsForm()
        manage_Cl_Form.ShowDialog()

    End Sub

    Private Sub LabelMRooms_Click(sender As Object, e As EventArgs) Handles LabelMRooms.Click

        Dim manage_Rm_Form As New ManageRoomsForm()
        manage_Rm_Form.ShowDialog()

    End Sub

    Private Sub LabelMReservastions_Click(sender As Object, e As EventArgs) Handles LabelMReservastions.Click

        Dim manage_Rv_Form As New ManageReservationsForm()
        manage_Rv_Form.ShowDialog()

    End Sub


vb.net hotel management system - main form menu

3 - The Manage Hotel Clients Form

this form allow the user to manage the hotel clients.
this form contains a datagridview filled with all clients data.
this form call functions from the class "CLIENT". 

- Add New Client Button

 Private Sub ButtonAdd_Click(sender As Object, e As EventArgs) Handles ButtonAdd.Click

        Dim fname As String = TextBoxFname.Text
        Dim lname As String = TextBoxLname.Text
        Dim phone As String = TextBoxPhone.Text
        Dim email As String = TextBoxEmail.Text

        If fname.Trim().Equals("") Or lname.Trim().Equals("") Or phone.Trim().Equals("") Then

            MessageBox.Show("Required First & Last Name, Phone", "Missing Information", MessageBoxButtons.OK, MessageBoxIcon.Error)

        Else

            If client.addClient(fname, lname, phone, email) Then

                MessageBox.Show("New Client Added Successfully", "Add Client", MessageBoxButtons.OK, MessageBoxIcon.Information)
                DataGridView1.DataSource = client.getAllClients()

            Else

                MessageBox.Show("Client Not Added", "Add Client", MessageBoxButtons.OK, MessageBoxIcon.Warning)

            End If

        End If


    End Sub

- Edit The Selected Client Button


  Private Sub ButtonEdit_Click(sender As Object, e As EventArgs) Handles ButtonEdit.Click

        Dim fname As String = TextBoxFname.Text
        Dim lname As String = TextBoxLname.Text
        Dim phone As String = TextBoxPhone.Text
        Dim email As String = TextBoxEmail.Text

        If TextBoxId.Text.Trim().Equals("") Then

            MessageBox.Show("Select The User You Want to Edit", "Missing ID", MessageBoxButtons.OK, MessageBoxIcon.Error)

        Else

            If fname.Trim().Equals("") Or lname.Trim().Equals("") Or phone.Trim().Equals("") Then

                MessageBox.Show("Required First & Last Name, Phone", "Missing Information", MessageBoxButtons.OK, MessageBoxIcon.Error)

            Else

                Dim id As Integer = Convert.ToInt32(TextBoxId.Text)

                If client.editClient(id, fname, lname, phone, email) Then

                    MessageBox.Show("Client Updated Successfully", "Edit Client", MessageBoxButtons.OK, MessageBoxIcon.Information)
                    DataGridView1.DataSource = client.getAllClients()

                Else

                    MessageBox.Show("Client Not Updated", "Edit Client", MessageBoxButtons.OK, MessageBoxIcon.Warning)

                End If

            End If

        End If

    End Sub


- Delete The Selected Client Button

  Private Sub ButtonRemove_Click(sender As Object, e As EventArgs) Handles ButtonRemove.Click


        If TextBoxId.Text.Trim().Equals("") Then

            MessageBox.Show("Enter The Client Id", "Missing ID", MessageBoxButtons.OK, MessageBoxIcon.Error)

        Else
            Dim id As Integer = Convert.ToInt32(TextBoxId.Text)

            If client.removeClient(id) Then

                MessageBox.Show("Client Deleted Successfully", "Delte Client", MessageBoxButtons.OK, MessageBoxIcon.Information)
                DataGridView1.DataSource = client.getAllClients()

                ' clear boxes
                TextBoxId.Text = ""
                TextBoxFname.Text = ""
                TextBoxLname.Text = ""
                TextBoxPhone.Text = ""
                TextBoxEmail.Text = ""

            Else

                MessageBox.Show("Client Not Deleted", "Delete Client", MessageBoxButtons.OK, MessageBoxIcon.Warning)

            End If

        End If

    End Sub


vb.net hotel management system - manage clients form


4 - The Manage Hotel Rooms Form

here the user can add a new room to the hotel system.
when you add a new room you need to select the type of room (single, double, family, suite). 

and like the client form you can view all rooms in a datagridview + how many rooms this hotel have, and add, edit, remove the selecte one + a combobx populated with all room's categories.


vb.net hotel management system - room's categories

- Add New Room Button
when you add a new room the "reserved" column will be set to no by default.

           Private Sub ButtonAdd_Click(sender As Object, e As EventArgs) Handles ButtonAdd.Click

        Try

            Dim type As Integer = Convert.ToInt32(ComboBoxType.SelectedValue)
            Dim phone As String = TextBoxPhone.Text
            Dim reserved As String = ""

            If RadioButtonYes.Checked Then

                reserved = "Yes"

            ElseIf RadioButtonNo.Checked Then

                reserved = "No"

            End If

            If TextBoxNumber.Text.Trim().Equals("") Or TextBoxPhone.Text.Trim().Equals("") Then

                MessageBox.Show("Make Sure to Enter The Room Number and The Phone Number", "Empty Fields", MessageBoxButtons.OK, MessageBoxIcon.Error)

            Else

                Dim number As Integer = Convert.ToInt32(TextBoxNumber.Text)

                If room.addRoom(number, type, phone, reserved) Then

                    MessageBox.Show("Room Added Successfully", "Add Room", MessageBoxButtons.OK, MessageBoxIcon.Information)
                    DataGridView1.DataSource = room.getAllRooms()
                    ' display the number of rooms on the LabelRoomsCount
                    LabelRoomsCount.Text = room.getAllRooms().Rows.Count.ToString() + " Room"

                Else

                    MessageBox.Show("Room Not Added", "Add Room", MessageBoxButtons.OK, MessageBoxIcon.Error)

                End If

            End If

        Catch ex As Exception

            MessageBox.Show(ex.Message, "Duplicate Room Number", MessageBoxButtons.OK, MessageBoxIcon.Warning)

        End Try
        
    End Sub

- Edit The Selected Room Button

            Private Sub ButtonEdit_Click(sender As Object, e As EventArgs) Handles ButtonEdit.Click

        Try

            Dim type As Integer = Convert.ToInt32(ComboBoxType.SelectedValue)
            Dim phone As String = TextBoxPhone.Text
            Dim reserved As String = ""

            If RadioButtonYes.Checked Then

                reserved = "Yes"

            ElseIf RadioButtonNo.Checked Then

                reserved = "No"

            End If

            If TextBoxNumber.Text.Trim().Equals("") Or TextBoxPhone.Text.Trim().Equals("") Then

                MessageBox.Show("Make Sure to Enter The Room Number and The Phone Number", "Empty Fields", MessageBoxButtons.OK, MessageBoxIcon.Error)

            Else

                Dim number As Integer = Convert.ToInt32(TextBoxNumber.Text)

                If room.editRoom(number, type, phone, reserved) Then

                    MessageBox.Show("Room Updated Successfully", "Edit Room", MessageBoxButtons.OK, MessageBoxIcon.Information)
                    DataGridView1.DataSource = room.getAllRooms()

                Else

                    MessageBox.Show("Room Not Updated", "Edit Room", MessageBoxButtons.OK, MessageBoxIcon.Error)

                End If

            End If

        Catch ex As Exception

            MessageBox.Show(ex.Message)

        End Try

    End Sub

- Delete The Selected Room Button

            Private Sub ButtonRemove_Click(sender As Object, e As EventArgs) Handles ButtonRemove.Click

        Try

            Dim number As Integer = Convert.ToInt32(TextBoxNumber.Text)

            If room.removeRoom(number) Then

                MessageBox.Show("Room Deleted Successfully", "Delete Room", MessageBoxButtons.OK, MessageBoxIcon.Information)
                DataGridView1.DataSource = room.getAllRooms()

                ' reset and clear fields
                TextBoxNumber.Text = ""
                ComboBoxType.SelectedIndex = 0
                TextBoxPhone.Text = ""
                RadioButtonYes.Checked = True

                ' display the number of rooms on the LabelRoomsCount
                LabelRoomsCount.Text = room.getAllRooms().Rows.Count.ToString() + " Room"

            Else

                MessageBox.Show("Room Not Deleted", "Delete Room", MessageBoxButtons.OK, MessageBoxIcon.Warning)

            End If

        Catch ex As Exception

            MessageBox.Show(ex.Message)

        End Try

    End Sub

vb.net hotel management system - manage rooms form

5 - The Manage Hotel Reservations Form

This form allow the user to manage the clients room reservations.
to create a reservation you need: 1) enter the reservation id, 2) select the client who will reserve, 3) you need to select the room where the client will stay.

when you add a new reservation the system will check:
- if the user enter all required informations.
- if the user enter a date in that is equal or come after the current day date.
- if the user enter a date out that is equal or come after the date in.

- Add a New Reservation Button

Private Sub ButtonAdd_Click(sender As Object, e As EventArgs) Handles ButtonAdd.Click

        Try

            Dim clientId As Integer = Convert.ToInt32(TextBoxClientID.Text)
            Dim roomNumber As Integer = Convert.ToInt32(ComboBoxRoomNumber.SelectedValue.ToString())
            Dim dateIn As Date = DateTimePickerIN.Value
            Dim dateOut As Date = DateTimePickerOUT.Value

            If DateTime.Compare(dateIn.Date, DateTime.Now.Date) < 0 Then

                MessageBox.Show("The Date In Must be = Or > to Today Date", "Invalid Date IN", MessageBoxButtons.OK, MessageBoxIcon.Error)

            ElseIf DateTime.Compare(dateOut.Date, dateIn.Date) < 0 Then

                MessageBox.Show("The Date Out Must be = Or > to The Date In", "Invalid Date OUT", MessageBoxButtons.OK, MessageBoxIcon.Error)

            Else

                If reservation.addReservation(roomNumber, clientId, dateIn, dateOut) Then

                    MessageBox.Show("Reservation Added Successfully", "Add Reservation", MessageBoxButtons.OK, MessageBoxIcon.Information)
                    DataGridView1.DataSource = reservation.getAllReservations()
                    ' we need to refresh the combobox to show only the not reserved rooms
                    ComboBoxType.DataSource = room.getAllRoomsType()

                Else

                    MessageBox.Show("Reservation NOT Added", "Add Reservation", MessageBoxButtons.OK, MessageBoxIcon.Error)

                End If

            End If

            
        Catch ex As Exception

            MessageBox.Show(ex.Message, "Add Reservation Error", MessageBoxButtons.OK, MessageBoxIcon.Error)

        End Try
        
    End Sub

- Edit The Selected Reservation Button

     Private Sub ButtonEdit_Click(sender As Object, e As EventArgs) Handles ButtonEdit.Click

        Try

            Dim reservationId As Integer = Convert.ToInt32(TextBoxReservationID.Text)
            Dim clientId As Integer = Convert.ToInt32(TextBoxClientID.Text)
            Dim roomNumber As Integer = Convert.ToInt32(DataGridView1.CurrentRow.Cells(2).Value.ToString())
            Dim dateIn As Date = DateTimePickerIN.Value
            Dim dateOut As Date = DateTimePickerOUT.Value

            If DateTime.Compare(dateIn.Date, DateTime.Now.Date) < 0 Then

                MessageBox.Show("The Date In Must be = Or > to Today Date", "Invalid Date IN", MessageBoxButtons.OK, MessageBoxIcon.Error)

            ElseIf DateTime.Compare(dateOut.Date, dateIn.Date) < 0 Then

                MessageBox.Show("The Date Out Must be = Or > to The Date In", "Invalid Date OUT", MessageBoxButtons.OK, MessageBoxIcon.Error)

            Else

                If reservation.editReservation(reservationId, roomNumber, clientId, dateIn, dateOut) Then

                    MessageBox.Show("Reservation Updated Successfully", "Edit Reservation", MessageBoxButtons.OK, MessageBoxIcon.Information)
                    DataGridView1.DataSource = reservation.getAllReservations()

                Else

                    MessageBox.Show("Reservation NOT Updated", "Edit Reservation", MessageBoxButtons.OK, MessageBoxIcon.Error)

                End If

            End If

        Catch ex As Exception

            MessageBox.Show(ex.Message, "Edit Reservation Error", MessageBoxButtons.OK, MessageBoxIcon.Error)

        End Try
        
    End Sub

- Remove The Selected Reservation Button

  Private Sub ButtonRemove_Click(sender As Object, e As EventArgs) Handles ButtonRemove.Click

        Try

            Dim reservationId As Integer = Convert.ToInt32(TextBoxReservationID.Text)
            Dim roomNumber As Integer = Convert.ToInt32(DataGridView1.CurrentRow.Cells(2).Value.ToString())

            If reservation.removeReservation(reservationId, roomNumber) Then

                MessageBox.Show("Reservation Deleted Successfully", "Remove Reservation", MessageBoxButtons.OK, MessageBoxIcon.Information)
                DataGridView1.DataSource = reservation.getAllReservations()

            Else

                MessageBox.Show("Reservation NOT Deleted", "Remove Reservation", MessageBoxButtons.OK, MessageBoxIcon.Error)

            End If

        Catch ex As Exception

            MessageBox.Show(ex.Message, "Remove Reservation Error", MessageBoxButtons.OK, MessageBoxIcon.Error)

        End Try

    End Sub



vb.net hotel management system - manage reservations form

if you want the source code click on the download button below





disclaimer: you will get the source code + the database script, and to make it work in your machine is your responsibility, and to debug any error/exception is your responsibility, this project is for the students who want to see an example and read + analyse the source code.



More VB.NET Projects:
VB.Net Inventory System Source Code
VB.Net Students Management System Source Code


C# Using RadioButton With MySQL

How To Use A Radio Button With MySQL Database In C#

radio button & database in c#



In This C# Tutorial  We Will See How To Use A RadioButton Control With MySQL Database
- get value from the selected redio button and insert it into database .
- get value from mysql and select the specific radiobutton 
In Csharp Programming Language And Visual Studio Editor.


 PART 1 

 PART 2 

Project Source Code:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using MySql.Data.MySqlClient;

namespace Csharp_Tutorials
{
    public partial class RadioButton_And_MySQL : Form
    {
        public RadioButton_And_MySQL()
        {
            InitializeComponent();
        }

        // mysql connection
        MySqlConnection connection = new MySqlConnection("datasource=localhost;port=3306;Initial Catalog='mydb';username=root;password=");
        
        // button insert
        private void buttonInsert_Click(object sender, EventArgs e)
        {
            MySqlCommand command = new MySqlCommand("INSERT INTO users(username,lang) VALUES (@usn,@lng)", connection);

            command.Parameters.Add("@usn", MySqlDbType.VarChar).Value = textBoxUsername.Text;

            string rdbval = "";

            // get the selected radio button value
            if(radioButtonCSHARP.Checked)
            {
                rdbval = "C#";
            }
            else if (radioButtonVBNET.Checked)
            {
                rdbval = "VB.NET";
            }
            else if (radioButtonJAVA.Checked)
            {
                rdbval = "JAVA";
            }
            else
            {
                // the default value
                rdbval = "NONE";
            }

            command.Parameters.Add("@lng", MySqlDbType.VarChar).Value = rdbval;

            connection.Open();

            // insert data into database
            if(command.ExecuteNonQuery() == 1)
            {
                MessageBox.Show("Data Inserted");
            }
            else
            {
                MessageBox.Show("Data Not Inserted");
            }

            connection.Close();

            // uncheck all radiobuttons
            radioButtonCSHARP.Checked = false;
            radioButtonVBNET.Checked = false;
            radioButtonJAVA.Checked = false;
            radioButtonNONE.Checked = false;

        }

        // button search
        private void buttonSearch_Click(object sender, EventArgs e)
        {
            MySqlDataAdapter adapter = new MySqlDataAdapter("SELECT * FROM users WHERE id = " + textBoxID.Text,connection);
            DataTable table = new DataTable();

            adapter.Fill(table);

            // table.Rows[0][0] = id
            // table.Rows[0][1] = username
            // table.Rows[0][2] = lang

            textBoxUsername.Text = table.Rows[0][1].ToString();

            // check the the specific radiobutton
            switch(table.Rows[0][2].ToString())
            {
                case"C#":
                    radioButtonCSHARP.Checked = true;
                    break;

                case "VB.NET":
                    radioButtonVBNET.Checked = true;
                    break;

                case "JAVA":
                    radioButtonJAVA.Checked = true;
                    break;

                case "NONE":
                    radioButtonNONE.Checked = true;
                    break;
            }
        }
    }
}

      
///////////////OUTPUT:

using radioButton and Database In C#




Java JTable And Arrow Keys

How To Use JTable With Arrow Keys To Display Row Data Using Java NetBeans

jtable with arrow keys in java



In this Java Tutorial we will see How To Display JTable Rows Data Into JTextFields On Direction Keys (UP, RIGHT, DOWN, LEFT) Released Using getKeyCode + DefaultTableModel In Java NetBeans .




Project Source Code:

DefaultTableModel model;
model = (DefaultTableModel)jTable1.getModel();
int index;


// get selected row on mouse click
private void jTable1MouseClicked(java.awt.event.MouseEvent evt) {                                     
        
           index = jTable1.getSelectedRow();
           jTextField1.setText(model.getValueAt(index, 0).toString());
           jTextField2.setText(model.getValueAt(index, 1).toString());
           jTextField3.setText(model.getValueAt(index, 2).toString());
           jTextField4.setText(model.getValueAt(index, 3).toString()); 
        
    }

// display row values on keys click
private void jTable1KeyReleased(java.awt.event.KeyEvent evt) {                                    
       
        if(evt.getKeyCode() == KeyEvent.VK_UP || evt.getKeyCode() == KeyEvent.VK_DOWN){
            
            index = jTable1.getSelectedRow();
           jTextField1.setText(model.getValueAt(index, 0).toString());
           jTextField2.setText(model.getValueAt(index, 1).toString());
           jTextField3.setText(model.getValueAt(index, 2).toString());
           jTextField4.setText(model.getValueAt(index, 3).toString()); 
            
        }
        
    }


OutPut:

display jtable data using direction keys in java