五讲酒店客房管理系统.ppt
第五讲 酒店客房管理系统(一),教育部“十二五”职业教育国家规划教材,Visual C#程序设计与软件项目实训电子工业出版社 郑伟 谭恒松 编著,ISBN:9787121246128,教材网站:,目录,任务:系统功能总体设计,任务:建立系统数据库,任务:创建公共类DBHelper,任务:系统功能总体设计,系统功能结构图,任务:系统功能总体设计,系统窗体,酒店客房管理系统界面,酒店客房管理系统界面,酒店客房管理系统界面,酒店客房管理系统界面,酒店客房管理系统界面,酒店客房管理系统界面,酒店客房管理系统界面,酒店客房管理系统界面,酒店客房管理系统界面,酒店客房管理系统界面,酒店客房管理系统界面,酒店客房管理系统界面,酒店客房管理系统界面,酒店客房管理系统界面,任务:建立系统数据库,数据库包含5个数据表,分别是用户表UserInfo、客房信息表RoomInfo、宾客信息表CustomerInfo、历史记录表Record、宾客预订信息表BookInfo。,数据库结构,数据库结构,数据库结构,任务:创建公共类DBHelper,涉及知识点,面向对象程序设计,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;其次,要定义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();/定义DataSetconnection.Open();/打开连接SqlDataAdapter command=new SqlDataAdapter(SQLString,connection);/定义SqlDataAdaptercommand.Fill(ds,ds);/填充到ds,创建公共类DBHelper,using System;using;using System.Linq;using System.Text;using System.Data;using;using;namespace HotelManage,创建公共类DBHelper,class DBHelper/数据库连接字符串 private static string connectionString=Data Source=.;Initial Catalog=Hotel;Integrated Security=SSPI;/执行SQL语句,返回影响的记录数/SQL语句/影响的记录数,创建公共类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(e)connection.Close();/关闭连接 throw e;,创建公共类DBHelper,/执行查询语句,返回DataSet/查询语句/DataSet 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(ex)connection.Close();/关闭连接 throw new Exception(ex.Message);return ds;,THANK YOU,