Hướng phát triển

Một phần của tài liệu Hệ thống quản lý khách sạn (Trang 59)

Do thời gian hạn chế và trình độ hiểu biết của bản thân chưa nhiều nên việc phân tích thiết kế và cài đặt bài toán quản lý khách sạn chưa hoàn thiện như một phần mềm quản lý. Nó mang tính chất học hỏi, trao đổi và bắt đầu làm quen với thực tế. Vì vậy em rất mong muốn sẽ phát triển tiếp đề tài lên một mức cao hơn, hoàn chỉnh.

3. Kết luận

- Đứng trước xu hướng phát triển nhanh và mạnh của nền công nghệ thông tin thế giới cũng như nước nhà, thì tin học hoá quản lý hành chính là vô

cùng quan trọng và bức thiết hiện nay. Nó sẽ giúp cho các cơ quan hành chính, các công ty, các đơn vị hoạt động kinh doanh giải quyết những công việc một cách nhanh chóng và ít sai sót nhất, đặc biệt là trong lĩnh vực quản lý sổ sách chứng từ, giấy tờ. Những ứng dụng về cơ sở dữ liệu đã giải quyết được những vấn đề bức thiết nhất nêu trên.

- Trong thời gian thực tập và làm đồ án này em đã thực hiện phân tích thiết kế hệ thống quản lý khách sạn với quy mô nhỏ. Mặc dù chương trình chưa được hoàn thiện song nó đã cho thấy được vấn đề quan trọng trong lĩnh vực quản lý, với chương trình quản lý khách sạn này khi đã hoàn thiện sẽ giúp cho việc quản lý được nhanh chóng và hiệu quả.

Tài liệu tham khảo

1. Phạm Hữu Khang, SQL server 2005, Nhà xuất bản Lao động – Xã hội, Hà Nội.

2. Nguyễn Văn Ba, Phân tích và thiết kế hệ thống thông tin, Nhà xuất bản Đại học quốc gia Hà nội.

3. Nguyễn Thiên Bằng, Visual Basic 2005, Nhà xuất bản Lao động xã hội.

4. Nguyễn Thanh Quang – Hoàng Anh Quang, Tự học SQL Server 2005, Nhà xuất bản Văn Hóa Thông Tin.

6 Tổng hợp và biên soạn: Đinh Xuân Lâm(2001), Những bài thực hành

Cơ sở dữ liệu Visual Basic căn bản, Nhà xuất bản thống kê, Thành phố Hồ Chí

PHỤ LỤC Source Code :

Frm đăng ký phòng

Imports System.data.sqlclient

Public Class Frm014DangKyPhong #Region "Phuong thuc ngoai"

Public Sub display_for_insert()

m_e_form_mode = eFormMode.InsertMode Me.ShowDialog()

End Sub

#End Region

#Region "Cau truc du lieu tu dinh nghia" Private Enum eColNumber

MaDatHuyPhong = 3 MaLoaiPhong = 2 MaDoanKhach = 1 SoLuong = 4 NgayDat = 5 NgayDen = 6 NgayDi = 7 End Enum

'Ta khai bao 1 kieu du lieu tự định nghĩa Private Enum eFormMode

InsertMode UpdateMode End Enum

#End Region

#Region "Thuoc tinh"

' Day la bien cho biet trang thai cua form dang o che do insert hay update

Dim m_e_form_mode As eFormMode #End Region

#Region "Phuong thuc trong"

' Phuong thuc nay tao 1 anh xa bao cot nao o duoi CSDL ung voi cot nao tren lưới

Private Function get_mapping_col() As Hashtable Dim v_hst As New Hashtable

v_hst.Add("MaDatHuyPhong", eColNumber.MaDatHuyPhong) v_hst.Add("MaLoaiPhong", eColNumber.MaLoaiPhong) v_hst.Add("MaDoanKhach", eColNumber.MaDoanKhach) v_hst.Add("SoLuong", eColNumber.SoLuong)

v_hst.Add("NgayDat", eColNumber.NgayDat) v_hst.Add("NgayDen", eColNumber.NgayDen) v_hst.Add("NgayDi", eColNumber.NgayDi)

Return v_hst End Function

Private Sub Luu_du_lieu_thong_tin_doan_khach() 'Đây là đối tượng yêu cầu

'Gán Connection và cho đối tượng Command (để cho command biết là lấy dữ liệu từ csdl nào)

v_objInsertcmd.Connection = ApplicationContext.getConnection() v_objInsertcmd.CommandType = CommandType.StoredProcedure

'Gán tên procedure cho cmd

v_objInsertcmd.CommandText = "pr_DoanKhach_insert" 'gán tham số truyền vào cho procedure

v_objInsertcmd.Parameters.Add("@TenDoanKhach", TxtTenDoanKhach.Text)

v_objInsertcmd.Parameters.Add("@HT_NguoiDaiDien", txtHT_NguoiDaiDien.Text)

v_objInsertcmd.Parameters.Add("@SoLuong", txtSoLuong.Text) v_objInsertcmd.Parameters.Add("@SoCMND", txtSoCMND.Text)

v_objInsertcmd.Parameters.Add("@DienThoai", txtDienThoai.Text) v_objInsertcmd.Parameters.Add("@DiaChi", txtDiaChi.Text)

v_objInsertcmd.Parameters.Add("@GhiChu", TxtGhiChu.Text) Dim v_obj_id As New SqlParameter

v_obj_id.Value = -1 v_obj_id.ParameterName = "@id" v_obj_id.Direction = ParameterDirection.Output v_obj_id.SqlDbType = SqlDbType.Decimal v_obj_id = v_objInsertcmd.Parameters.Add(v_obj_id) 'Mở kết nối đến Csdl Try v_objInsertcmd.Connection.Open() v_objInsertcmd.ExecuteNonQuery() v_objInsertcmd.Connection.Close() TxtMaDoanKhach.Text = v_obj_id.Value Catch ex As Exception v_objInsertcmd.Connection.Close() Throw ex End Try

'Thông báo thành công

MessageBox.Show("Thông tin đoàn khách đã được cập nhật!") End Sub

Private Sub Luu_du_lieu_thong_tin_dang_ky() 'Đây là đối tượng yêu cầu

Dim v_objInsertcmd As New SqlCommand

'Gán Connection và cho đối tượng Command (để cho command biết là lấy dữ liệu từ csdl nào)

v_objInsertcmd.Connection = ApplicationContext.getConnection() v_objInsertcmd.CommandType = CommandType.StoredProcedure

''Gán tên procedure cho cmd

v_objInsertcmd.CommandText = "pr_DatHuyPhong_insert" 'gán tham số truyền vào cho procedure

v_objInsertcmd.Parameters.Add("@MaDoanKhach", TxtMaDoanKhach.Text) v_objInsertcmd.Parameters.Add("@MaLoaiPhong", CboMaLoaiPhong.SelectedValue)

v_objInsertcmd.Parameters.Add("@SoLuong", txtSoLuong1.Text) v_objInsertcmd.Parameters.Add("@NgayDat", DtpNgayDat.Value) v_objInsertcmd.Parameters.Add("@NgayDen", DtpNgayDen.Value) v_objInsertcmd.Parameters.Add("@NgayDi", DtpNgayDi.Value) 'Mở kết nối đến Csdl

Try v_objInsertcmd.Connection.Open() v_objInsertcmd.ExecuteNonQuery() v_objInsertcmd.Connection.Close() Catch ex As Exception v_objInsertcmd.Connection.Close() Throw ex End Try

'Thông báo thành công

MessageBox.Show("Dữ liệu đã được cập nhật!") load_data_dat_phong_grid()

End Sub

Private Sub load_data_cbo_ma_loai_phong()

'Đây là đối tượng dùng để mang dữ liệu từ CSDL lên .Net Dim v_objDataAdapter As New SqlDataAdapter

'Đây là đối tượng yêu cầu

Dim v_objSelectcmd As New SqlCommand

'Đây là đối tượng dùng để chứa dữ liệu trên .Net Dim v_dtLoaiPhong As New DataTable

'Gán Connection và cho đối tượng Command (để cho command biết là lấy dữ liệu từ csdl nào)

v_objSelectcmd.Connection = ApplicationContext.getConnection() v_objSelectcmd.CommandType = CommandType.Text

'Gán yêu cầu lấy dữ liệu cho command

v_objSelectcmd.CommandText = "Select * from DM_LoaiPhong"

'Gán yêu cầu cần lấy dữ liệu cho đối tượng mà chở dữ liệu từ csdl lên .Net

v_objDataAdapter.SelectCommand = v_objSelectcmd 'Mở kết nối đến Csdl

Try

v_objSelectcmd.Connection.Open()

'Lấy dữ liệu lên, cho vào bảng LOAI_PHONG v_objDataAdapter.Fill(v_dtLoaiPhong) v_objSelectcmd.Connection.Close() Catch ex As Exception v_objSelectcmd.Connection.Close() Throw ex End Try CboMaLoaiPhong.DataSource = v_dtLoaiPhong CboMaLoaiPhong.DisplayMember = "TenLoaiPhong" CboMaLoaiPhong.ValueMember = "MaLoaiPhong" End Sub

' Day la phuong thuc load du lieu tu 01 data table len 01 grid Private Sub datatable_dat_phong_grid( _

ByVal ip_dt As DataTable) Dim v_hst As Hashtable Dim v_obj As Object

v_hst = get_mapping_col() ' Xoa het du lieu tren luoi

m_fg.Rows.Count = m_fg.Rows.Fixed Dim v_dr As DataRow

'Ung voi moi dong trong bang For Each v_dr In ip_dt.Rows ' Them 1 dong moi

m_fg.Rows.Count = m_fg.Rows.Count + 1 ' Luu du lieu Datarow vao dong tuong ung

'Ung voi moi phan tu trong anh xa For Each v_obj In v_hst.Keys

m_fg(m_fg.Rows.Count - 1, v_hst(v_obj)) _ = v_dr(CType(v_obj, String))

Next ' Tao Tree m_fg.Subtotal(C1.Win.C1FlexGrid.AggregateEnum.None, 0, eColNumber.MaDoanKhach, eColNumber.MaLoaiPhong, "{0}") Next End Sub

Private Sub load_data_dat_phong_grid() 'Đây là đối tượng yêu cầu

Dim v_objSelectcmd As New SqlCommand ' Lấy kết nối đến CSDL

Dim v_objConn As SqlConnection = ApplicationContext.getConnection() 'Đây là đối tượng dùng để mang dữ liệu từ CSDL lên .Net

Dim v_objDataAdapter As New SqlDataAdapter

'Đây là đối tượng dùng để chứa dữ liệu trên .Net Dim v_dtCTTTDangKy As New DataTable

'Gán Connection và cho đối tượng Command (để cho command biết là lấy dữ liệu từ csdl nào)

v_objSelectcmd.Connection = v_objConn

v_objSelectcmd.CommandType = CommandType.Text 'Gán yêu cầu lấy dữ liệu cho command

If TxtMaDoanKhach.Text.Trim.Length > 0 Then

v_objSelectcmd.CommandText = "Select * from NV_DatHuyPhong WHERE MaDoanKhach= " + TxtMaDoanKhach.Text

Else

v_objSelectcmd.CommandText = "Select * from NV_DatHuyPhong WHERE MaDoanKhach= -1 "

End If

'Gán yêu cầu cần lấy dữ liệu cho đối tượng mà chở dữ liệu từ csdl lên .Net

v_objDataAdapter.SelectCommand = v_objSelectcmd 'Mở kết nối đến Csdl

Try

v_objSelectcmd.Connection.Open()

'Lấy dữ liệu lên, cho vào bảng CHI_TIET_THONG_TIN_DANG_KY v_objDataAdapter.Fill(v_dtCTTTDangKy)

v_objSelectcmd.Connection.Close() Catch ex As Exception

If v_objConn.State = ConnectionState.Open Then

v_objConn.Close() End If Throw ex End Try datatable_dat_phong_grid(v_dtCTTTDangKy) End Sub

Private Sub load_data_chi_tiet_dat_phong_grid() 'Đây là đối tượng yêu cầu

Dim v_objSelectcmd As New SqlCommand ' Lấy kết nối đến CSDL

Dim v_objConn = ApplicationContext.getConnection() 'Đây là đối tượng dùng để mang dữ liệu từ CSDL lên .Net Dim v_objDataAdapter As New SqlDataAdapter

'Đây là đối tượng dùng để chứa dữ liệu trên .Net Dim v_dtDatPhong As New DataTable

'Gán Connection và cho đối tượng Command (để cho command biết là lấy dữ liệu từ csdl nào)

v_objSelectcmd.Connection = v_objConn

v_objSelectcmd.CommandType = CommandType.Text 'Gán yêu cầu lấy dữ liệu cho command

v_objSelectcmd.CommandText = "Select * from NV_DatHuyPhong order by MaDoanKhach"

'Gán yêu cầu cần lấy dữ liệu cho đối tượng mà chở dữ liệu từ csdl lên .Net

v_objDataAdapter.SelectCommand = v_objSelectcmd 'Mở kết nối đến Csdl

Try

v_objSelectcmd.Connection.Open()

'Lấy dữ liệu lên, cho vào bảng CHI_TIET_THONG_TIN_DANG_KY v_objDataAdapter.Fill(v_dtDatPhong) v_objSelectcmd.Connection.Close() Catch ex As Exception Throw ex End Try datatable_dat_phong_grid(v_dtDatPhong) End Sub

' Phuong thuc nay tao anh xa de dua len luoi la ma_doan, nhung hien thi la ten_doan

Private Sub mapping_col_ma_doan()

'Đây là đối tượng dùng để mang dữ liệu từ CSDL lên .Net Dim v_objDataAdapter As New SqlDataAdapter

'Đây là đối tượng yêu cầu

Dim v_objSelectcmd As New SqlCommand

'Đây là đối tượng dùng để chứa dữ liệu trên .Net Dim v_dtDoanKhach As New DataTable

'Gán Connection và cho đối tượng Command (để cho command biết là lấy dữ liệu từ csdl nào)

v_objSelectcmd.Connection = ApplicationContext.getConnection() v_objSelectcmd.CommandType = CommandType.Text

'Gán yêu cầu lấy dữ liệu cho command

v_objSelectcmd.CommandText = "Select * from DM_DoanKhach"

'Gán yêu cầu cần lấy dữ liệu cho đối tượng mà chở dữ liệu từ csdl lên .Net

v_objDataAdapter.SelectCommand = v_objSelectcmd 'Mở kết nối đến Csdl

Try

v_objSelectcmd.Connection.Open()

'Lấy dữ liệu lên, cho vào bảng DOAN_KHACH v_objDataAdapter.Fill(v_dtDoanKhach) v_objSelectcmd.Connection.Close() Catch ex As Exception v_objSelectcmd.Connection.Close() Throw ex End Try

Dim v_hst As New Hashtable Dim v_dr As DataRow

For Each v_dr In v_dtDoanKhach.Rows

v_hst.Add(v_dr("MaDoanKhach"), v_dr("TenDoanKhach")) Next

m_fg.Cols(eColNumber.MaDoanKhach).DataMap = v_hst End Sub

' Phuong thuc nay tao anh xa de dua len luoi la ma_loai_phong, nhung hien thi la ten_loai_phong

Private Sub mapping_col_ma_loai_phong()

'Đây là đối tượng dùng để mang dữ liệu từ CSDL lên .Net Dim v_objDataAdapter As New SqlDataAdapter

'Đây là đối tượng yêu cầu

Dim v_objSelectcmd As New SqlCommand

'Đây là đối tượng dùng để chứa dữ liệu trên .Net Dim v_dtMaLoaiPhong As New DataTable

'Gán Connection và cho đối tượng Command (để cho command biết là lấy dữ liệu từ csdl nào)

v_objSelectcmd.Connection = ApplicationContext.getConnection() v_objSelectcmd.CommandType = CommandType.Text

'Gán yêu cầu lấy dữ liệu cho command

v_objSelectcmd.CommandText = "Select * from DM_LoaiPhong"

'Gán yêu cầu cần lấy dữ liệu cho đối tượng mà chở dữ liệu từ csdl lên .Net

v_objDataAdapter.SelectCommand = v_objSelectcmd 'Mở kết nối đến Csdl

Try

v_objSelectcmd.Connection.Open()

'Lấy dữ liệu lên, cho vào bảng LOAI_PHONG v_objDataAdapter.Fill(v_dtMaLoaiPhong) v_objSelectcmd.Connection.Close() Catch ex As Exception v_objSelectcmd.Connection.Close() Throw ex End Try

Dim v_hst As New Hashtable Dim v_dr As DataRow

For Each v_dr In v_dtMaLoaiPhong.Rows

v_hst.Add(v_dr("MaLoaiPhong"), v_dr("TenLoaiPhong")) Next

m_fg.Cols(eColNumber.MaLoaiPhong).DataMap = v_hst End Sub

Private Sub xoa_chi_tiet_thong_tin_dang_ky()

If MessageBox.Show("Bạn có muốn xóa dữ liệu không?", "Delete", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly) = DialogResult.No Then

Exit Sub

End If

'Đây là đối tượng yêu cầu

Dim v_objDeleteCmd As New SqlCommand

'Gán Connection và cho đối tượng Command (để cho command biết là lấy dữ liệu từ csdl nào)

v_objDeleteCmd.Connection = ApplicationContext.getConnection() v_objDeleteCmd.CommandType = CommandType.StoredProcedure

'Gán yêu cầu lấy dữ liệu cho command

v_objDeleteCmd.CommandText = "pr_DatHuyPhong_Delete"

v_objDeleteCmd.Parameters.Add("@MaDatHuyPhong", m_fg(m_fg.Row, eColNumber.MaDatHuyPhong))

'Gán yêu cầu cần lấy dữ liệu cho đối tượng mà chở dữ liệu từ csdl lên .Net

'Mở kết nối đến Csdl Try

v_objDeleteCmd.Connection.Open() v_objDeleteCmd.ExecuteNonQuery() v_objDeleteCmd.Connection.Close()

MessageBox.Show("Bạn đã xóa thành công!") Catch ex As Exception v_objDeleteCmd.Connection.Close() Throw ex End Try load_data_chi_tiet_dat_phong_grid() End Sub #End Region

Private Sub Frm014DangKyPhong_Load(ByVal sender As System.Object, ByVal

e As System.EventArgs) Handles MyBase.Load Try

' Không cho edit trên lưới m_fg.AllowEditing = False

'Ẩn cột mã đoàn

m_fg.Cols(eColNumber.MaDoanKhach).Visible = False

'Đặt cột để hiện lên tree là mã loại phòng m_fg.Tree.Column = eColNumber.MaLoaiPhong 'Để style cho lưới

m_fg.Tree.Style = C1.Win.C1FlexGrid.TreeStyleFlags.Simple load_data_dat_phong_grid() mapping_col_ma_doan() mapping_col_ma_loai_phong() LblMaDoanKhach.Visible = False TxtMaDoanKhach.Visible = False load_data_cbo_ma_loai_phong() Catch ex As Exception MessageBox.Show(ex.ToString()) End Try End Sub

Private Sub BtnLuu_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles BtnLuu.Click Try Luu_du_lieu_thong_tin_doan_khach() Catch ex As Exception MessageBox.Show(ex.ToString()) End Try End Sub

Private Sub BtnDanhSachDoanKhach_Click(ByVal sender As System.Object,

ByVal e As System.EventArgs) Handles BtnDanhSachKhachHang.Click Try

Dim v_frm005 As New Frm005DanhSachKhachHang v_frm005.ShowDialog()

Catch ex As Exception

MessageBox.Show(ex.ToString()) End Try

End Sub

Private Sub BtnKiemTraPhong_Click(ByVal sender As System.Object, ByVal

Try

Dim v_frm003 As New Frm003DanhSachPhong v_frm003.ShowDialog()

Catch ex As Exception

MessageBox.Show(ex.ToString()) End Try

End Sub

Private Sub BtnLuu1_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles BtnLuu1.Click Try Luu_du_lieu_thong_tin_dang_ky() Catch ex As Exception MessageBox.Show(ex.ToString()) End Try End Sub

Private Sub BtnThoat_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles BtnThoat.Click Try Me.Close() Catch ex As Exception MessageBox.Show(ex.ToString()) End Try End Sub

Private Sub BtnKiemTraTT_Click(ByVal sender As System.Object, ByVal e

As System.EventArgs) Handles BtnKiemTraTT.Click Try load_data_chi_tiet_dat_phong_grid() Catch ex As Exception MessageBox.Show(ex.ToString()) End Try End Sub

Private Sub BtnXoa_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles BtnXoa.Click Try xoa_chi_tiet_thong_tin_dang_ky() Catch ex As Exception MessageBox.Show(ex.ToString()) End Try End Sub End Class

Một phần của tài liệu Hệ thống quản lý khách sạn (Trang 59)

Tải bản đầy đủ (DOC)

(69 trang)
w