第五讲 酒店客房管理系统(一) 教育部“十二五”职业教育国家规划教材 《Visual C#程序设计与软件项目实训》电子工业出版社 郑伟 谭恒松 编著 ISBN:9787121246128 教材网站:http://www.zjcourse.com/visualc/ 第五讲 酒店客房管理系统(一)
目录 任务:系统功能总体设计 任务:建立系统数据库 任务:创建公共类DBHelper
任务:系统功能总体设计 系统功能结构图 酒店客房管理系统 宾客登记 宾客预定 取消预定 收银结算 退房结算 补交押金 信息查询 宾客查询 房态查询 预订查询 客房管理 客房添加 用户管理 添加用户 管理用户
任务:系统功能总体设计 系统窗体
酒店客房管理系统—界面
酒店客房管理系统—界面
酒店客房管理系统—界面
酒店客房管理系统—界面
酒店客房管理系统—界面
酒店客房管理系统—界面
酒店客房管理系统—界面
酒店客房管理系统—界面
酒店客房管理系统—界面
酒店客房管理系统—界面
酒店客房管理系统—界面
酒店客房管理系统—界面
酒店客房管理系统—界面
酒店客房管理系统—界面
任务:建立系统数据库 数据库包含5个数据表,分别是用户表UserInfo、客房信息表RoomInfo、宾客信息表CustomerInfo、历史记录表Record、宾客预订信息表BookInfo。
数据库结构
数据库结构
数据库结构
任务:创建公共类DBHelper 涉及知识点 面向对象程序设计 Connection对象 Command对象 DataReader对象 ADO.NET Connection对象 Command对象 DataReader对象 DataAdapter和Dataset对象
面向对象程序设计 对象(Object)是一件事、一个实体、一个名词,可以获得的东西,可以想象有自己的标识的任何东西。简单地说,一切都是对象。例如:人、电脑、桌子等。 类(Class)实际上是对某种类型的对象定义变量和方法的原型。它表示对现实生活中一类具有共同特征的事物的抽象,是面向对象编程的基础。 类的作用类似于蓝图,指定该类型可以进行哪些操作。从本质上说,对象是按照此蓝图分配和配置的内存块。
类 面向对象程序设计的主要工作就是设计类,声明类的语法格式如下: [类修饰符] class 类名[:基类] { …… } 例如,定义一个客房类,代码如下: public class RoomInfo //客房类的成员,可以是字段、方法、属性等
访问修饰符
类的成员
ADO.NET概述 ADO.NET 是一组向 .NET Framework 程序员公开数据访问服务的类。 ADO.NET 结构
Connection对象
Connection对象 首先,要引用SqlClient。 using System.Data.SqlClient; 其次,要定义SqlConnection。 //数据库连接字符串 private static string connectionString = "Data Source =.; Initial Catalog = Hotel; Integrated Security = SSPI"; SqlConnection connection = new SqlConnection(connectionString);//定义SqlConnection connection.Open();//打开连接
Command对象 使用 Command 对象可以访问用于返回数据、修改数据、运行存储过程以及发送或检索参数信息的数据库命令。
Command对象 SqlCommand的使用示例 SqlCommand cmd = new SqlCommand(SQLString, connection);//定义SqlCommand cmd.ExecuteNonQuery();//执行SQL语句
DataReader对象 使用 DataReader 对象的 Read 方法可从查询结果中获取行。 通过向 DataReader 传递列的名称或序号引用,可以访问返回行的每一列。 SqlDataReader的使用方法如下代码所示: SqlCommand command = new SqlCommand("SELECT * FROM UserInfo", connection); connection.Open(); SqlDataReader reader = command.ExecuteReader();
DataAdapter和Dataset对象 DataAdapter 是 DataSet 和 数据源之间的桥接器,用于检索和保存数据。DataAdapter 通过对数据源使用适当的 Transact-SQL 语句映射 Fill和 Update来提供这一桥接。
DataAdapter和Dataset对象 ADO.NET DataSet 是数据的一种内存驻留表示形式,无论它包含的数据来自什么数据源,都会提供一致的关系编程模型。DataSet 表示整个数据集,其中包含对数据进行包含、排序和约束的表以及表间的关系。
DataAdapter和Dataset对象 通过SqlDataAdapter向DataSet填充数据的示例代码如下: SqlConnection connection = new SqlConnection(connectionString); //定义SqlConnection DataSet ds = new DataSet();//定义DataSet connection.Open();//打开连接 SqlDataAdapter command = new SqlDataAdapter(SQLString, connection);//定义SqlDataAdapter command.Fill(ds, "ds");//填充到ds
创建公共类DBHelper using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data; using System.Data.SqlClient; using System.Windows.Forms; namespace HotelManage {
创建公共类DBHelper class DBHelper { //数据库连接字符串 private static string connectionString = "Data Source =.; Initial Catalog = Hotel; Integrated Security = SSPI"; /// <summary> /// 执行SQL语句,返回影响的记录数 /// </summary> /// <param name="SQLString">SQL语句</param> /// <returns>影响的记录数</returns>
创建公共类DBHelper public static int ExecuteSql(string SQLString) { SqlConnection connection = new SqlConnection(connectionString);//定义SqlConnection SqlCommand cmd = new SqlCommand(SQLString, connection);//定义SqlCommand try connection.Open();//打开连接 int rows = cmd.ExecuteNonQuery();//执行SQL语句 return rows;//返还影响的记录数 } catch (System.Data.SqlClient.SqlException e) connection.Close();//关闭连接 throw e;
创建公共类DBHelper /// <summary> /// 执行查询语句,返回DataSet /// <param name="SQLString">查询语句</param> /// <returns>DataSet</returns> public static DataSet GetDataSet(string SQLString) { SqlConnection connection = new SqlConnection(connectionString); //定义SqlConnection DataSet ds = new DataSet();//定义DataSet
创建公共类DBHelper try { connection.Open();//打开连接 SqlDataAdapter command = new SqlDataAdapter(SQLString, connection);//定义SqlDataAdapter command.Fill(ds, "ds");//填充到ds } catch (System.Data.SqlClient.SqlException ex) connection.Close();//关闭连接 throw new Exception(ex.Message); return ds;
THANK YOU