数据库课程设计程序代码(宾馆客房管理系统)
- 格式:doc
- 大小:47.50 KB
- 文档页数:4
*******************实践教学*******************兰州理工大学计算机与通信学院2010年春季学期计算机语言课程设计题目:宾馆客房管理系统专业班级:姓名:学号:指导教师:成绩:目录摘要..................................................... 错误!未定义书签。
前言..................................................... 错误!未定义书签。
正文..................................................... 错误!未定义书签。
1. 问题描述......................................... 错误!未定义书签。
2。
......................................................................... 需求分析错误!未定义书签。
3. 系统总体设计................................. 错误!未定义书签。
4。
......................................................................... 详细设计错误!未定义书签。
5. 系统测试......................................... 错误!未定义书签。
6. 软件使用说明书............................. 错误!未定义书签。
总结..................................................... 错误!未定义书签。
参考文献................................................. 错误!未定义书签。
酒店管理系统c语言程序设计以下是一个简单的酒店管理系统的 C 语言程序设计示例,包括了客户入住、退房和查询房间状态等基本功能。
请注意,这只是一个简化的示例,实际的酒店管理系统可能需要更多的功能和复杂的逻辑。
```c#include <stdio.h>#include <stdlib.h>#include <string.h>#define MAX_ROOMS 100#define MAX_CUSTOMERS 100// 房间结构体struct Room {int roomNumber;int isOccupied;int customerID;};// 客户结构体struct Customer {int customerID;char customerName[50];};// 房间列表struct Room rooms[MAX_ROOMS];// 客户列表struct Customer customers[MAX_CUSTOMERS];// 初始化房间列表void initRooms() {for (int i = 0; i < MAX_ROOMS; i++) {rooms[i].roomNumber = i + 1;rooms[i].isOccupied = 0;rooms[i].customerID = 0;}}// 初始化客户列表void initCustomers() {for (int i = 0; i < MAX_CUSTOMERS; i++) {customers[i].customerID = i + 1;strcpy(customers[i].customerName, "Customer");}}// 查找空闲房间int findFreeRoom() {for (int i = 0; i < MAX_ROOMS; i++) {if (rooms[i].isOccupied == 0) {return i;}}return -1;}// 客户入住void checkIn(int customerID, int roomNumber) {int freeRoom = findFreeRoom();if (freeRoom != -1) {rooms[freeRoom].isOccupied = 1;rooms[freeRoom].customerID = customerID;printf("Customer %d checked in to Room %d\n", customerID, roomNumber); } else {printf("No free rooms available\n");}}// 客户退房void checkOut(int roomNumber) {for (int i = 0; i < MAX_ROOMS; i++) {if (rooms[i].roomNumber == roomNumber && rooms[i].isOccupied == 1) { rooms[i].isOccupied = 0;rooms[i].customerID = 0;printf("Customer checked out of Room %d\n", roomNumber);return;}}printf("Room not found\n");}// 查询房间状态void viewRoomStatus(int roomNumber) {for (int i = 0; i < MAX_ROOMS; i++) {if (rooms[i].roomNumber == roomNumber) {if (rooms[i].isOccupied == 1) {printf("Room %d is occupied by Customer %d\n", roomNumber, rooms[i].customerID);} else {printf("Room %d is vacant\n", roomNumber);}return;}}printf("Room not found\n");}// 主函数int main() {initRooms();initCustomers();int choice;while (1) {printf("1. Check In\n2. Check Out\n3. View Room Status\n4. Exit\n"); scanf("%d", &choice);switch (choice) {case 1:int customerID, roomNumber;printf("Enter customer ID: ");scanf("%d", &customerID);printf("Enter room number: ");scanf("%d", &roomNumber);checkIn(customerID, roomNumber);break;case 2:printf("Enter room number: ");scanf("%d", &roomNumber);checkOut(roomNumber);break;case 3:printf("Enter room number: ");scanf("%d", &roomNumber);viewRoomStatus(roomNumber);break;case 4:exit(0);break;default:printf("Invalid choice\n");}}return 0;}```上述代码实现了一个简单的酒店管理系统,包括客户入住、退房和查询房间状态等功能。
酒店客房管理系统设计系统源代码酒店客房管理系统代码清单:frmAddlb窗体代码:Private Sub Command1_Click()Dim sql As StringDim conn As New adodb.ConnectionDim rs_fjstyle As New adodb.RecordsetIf Trim(Text1.Text) = "" ThenMsgBox "请输入房间类型", vbOKOnly + vbExclamation, ""Text1.SetFocusExit SubEnd IfIf Trim(Text2.Text) = "" ThenMsgBox "请输入类型代号", vbOKOnly + vbExclamation, ""Text2.SetFocusExit SubEnd IfIf Trim(Text3.Text) = "" ThenMsgBox "请输入房间数量", vbOKOnly + vbExclamation, ""Text3.SetFocusExit SubEnd Ifconn.Open "provider=Microsoft.Jet.OLEDB.4.0; data source=" & App.Path & "\data\database.mdb"sql = "select * from 客房类别where 房间类型='" & Text1.Text & "'"rs_fjstyle.Open sql, conn, adOpenKeyset, adLockPessimisticIf rs_fjstyle.EOF Thenrs_fjstyle.AddNewrs_fjstyle.Fields(1) = Trim(Text1.Text)rs_fjstyle.Fields(2) = Trim(Text2.Text)rs_fjstyle.Fields(3) = Trim(Text3.Text)rs_fjstyle.UpdateMsgBox "添加成功", vbOKOnly + vbExclamation, ""Text1.Text = ""Text2.Text = ""Text3.Text = ""Text1.SetFocusrs_fjstyle.CloseElseMsgBox "你添加的类别已存在,请输入新类别", vbOKOnly + vbExclamation, ""Text1.SetFocusText1.Text = ""Text2.Text = ""rs_fjstyle.CloseExit SubEnd IfEnd SubPrivate Sub Command2_Click()Unload Mefrmlbinfo.ShowEnd SubfrmAdduser窗体代码:Private Sub Command1_Click()Dim sql As StringDim rs_add As New adodb.RecordsetDim conn As New adodb.Connectionconn.Open "provider=Microsoft.Jet.OLEDB.4.0; data source=" & App.Path & "\data\database.mdb"If Trim(Text1.Text) = "" ThenMsgBox "用户名不能为空,请输入!", vbOKOnly + vbExclamation, ""Text1.SetFocusElsesql = "select * from 用户信息"rs_add.Open sql, conn, adOpenKeyset, adLockPessimisticWhile (rs_add.EOF = False)If Trim(rs_add.Fields(1)) = Trim(Text1.Text) ThenMsgBox "已有这个用户", vbOKOnly + vbExclamation, ""Text1.SetFocusText1.Text = ""Text2.Text = ""Text3.Text = ""Exit SubElsers_add.MoveNextEnd IfWendIf Trim(Text2.Text) <> Trim(Text3.Text) ThenMsgBox "两次密码不一致", vbOKOnly + vbExclamation, ""Text2.SetFocusText2.Text = ""Text3.Text = ""Exit SubElsers_add.AddNewrs_add.Fields(1) = Text1.Textrs_add.Fields(2) = Text2.Textrs_add.UpdateMsgBox "添加用户成功!", vbOKOnly + vbExclamation, ""'Me.HideEnd IfEnd IfEnd SubPrivate Sub Command2_Click()Unload MeEnd SubfrmdfAdd窗体代码:Private Sub Command1_Click()Dim sql As StringDim conn As New adodb.ConnectionDim rs_fjstyle As New adodb.RecordsetIf Trim(Text1.Text) = "" ThenMsgBox "请输入姓名!", vbOKOnly + vbExclamation, ""Text1.SetFocusExit SubEnd If'If Trim(Text2.Text) = "" Then'MsgBox "日期不能为空!", vbOKOnly + vbExclamation, ""'Text2.SetFocus'Exit Sub'Else'If Not IsDate(Text2.Text) Then' MsgBox "请按照2006-12-30格式输入登记日期!", vbOKOnly + vbExclamation, "" ' Text2.Text = ""' Text2.SetFocus'Exit Sub'End If'End IfIf Trim(Text3.Text) = "" ThenMsgBox "请输入房间编号!", vbOKOnly + vbExclamation, ""Text2.SetFocusExit SubEnd IfIf Trim(Text4.Text) = "" ThenMsgBox "请选择房间类型!", vbOKOnly + vbExclamation, ""Text4.SetFocusExit SubEnd IfIf Trim(Text5.Text) = "" ThenMsgBox "请交定金!", vbOKOnly + vbExclamation, ""Text5.SetFocusExit SubEnd Ifconn.Open "provider=Microsoft.Jet.OLEDB.4.0; data source=" & App.Path & "\data\database.mdb"sql = "select * from 预订客房"rs_fjstyle.Open sql, conn, adOpenKeyset, adLockPessimistic'rs_fjstyle.EOFrs_fjstyle.AddNewrs_fjstyle.Fields(1) = Trim(Text1.Text)rs_fjstyle.Fields(4) = Trim(DTPicker1.Value)rs_fjstyle.Fields(5) = Trim(DTPicker2.Value)rs_fjstyle.Fields(2) = Trim(Text3.Text)rs_fjstyle.Fields(3) = Trim(Text4.Text)rs_fjstyle.Fields(6) = Val(Text5.Text)rs_fjstyle.UpdateMsgBox "添加成功", vbOKOnly + vbExclamation, ""rs_fjstyle.CloseCommand3.Enabled = TrueExit SubEnd SubPrivate Sub Command2_Click()Text1.Text = ""'Text2.Text = ""'Text3.Text = ""Text4.Text = ""Text5.Text = ""Text1.SetFocusEnd SubPrivate Sub Command3_Click()Dim conn As New adodb.ConnectionDim rs_fjstyle As New adodb.Recordsetconn.Open "provider=Microsoft.Jet.OLEDB.4.0; data source=" & App.Path & "\data\database.mdb"sql = "select 客人姓名,房间编号,房间类型,订房日期,订房时间,预交订金from 预订客房" rs_fjstyle.CursorLocation = adUseClientrs_fjstyle.Open sql, conn, adOpenKeyset, adLockPessimisticDataGrid1.AllowAddNew = FalseDataGrid1.AllowDelete = FalseDataGrid1.AllowUpdate = FalseSet DataGrid1.DataSource = rs_fjstyleMsgBox "数据已更新!", vbOKOnly + vbExclamation, ""Exit SubEnd SubPrivate Sub Command4_Click()Unload MeEnd SubPrivate Sub Form_Load()Dim sql As StringDim conn As New adodb.ConnectionDim rs_fjstyle As New adodb.Recordsetconn.Open "provider=Microsoft.Jet.OLEDB.4.0; data source=" & App.Path & "\data\database.mdb"sql = "select 客人姓名,房间编号,房间类型,订房日期,订房时间,预交订金from 预订客房" rs_fjstyle.CursorLocation = adUseClientrs_fjstyle.Open sql, conn, adOpenKeyset, adLockPessimisticDataGrid1.AllowAddNew = FalseDataGrid1.AllowDelete = FalseDataGrid1.AllowUpdate = FalseSet DataGrid1.DataSource = rs_fjstyleExit SubSet DTPicker2.Value = TimeEnd SubfrmDfdy窗体代码:Private Sub Command1_Click()Dim conn As New adodb.ConnectionDim rs_dfdybb As New adodb.Recordsetconn.Open "provider=Microsoft.Jet.OLEDB.4.0; data source=" & App.Path & "\data\database.mdb"sql = "select 房间编号,房间类别,日住宿费,周住宿费,月住宿费,预订,空房from 客房信息"rs_dfdybb.Open sql, conn, adOpenKeyset, adLockPessimisticSet DataReport1.DataSource = rs_dfdybb.DataSourceDataReport1.DataMember = rs_dfdybb.DataMemberDataReport1.Show' Unload MeEnd SubPrivate Sub Command2_Click()Unload MeEnd SubPrivate Sub Form_Load()Dim sql As StringDim rs_dfdy As New RecordsetDim conn As New adodb.ConnectionOn Error GoTo loaderrorconn.Open "provider=Microsoft.Jet.OLEDB.4.0; data source=" & App.Path & "\data\database.mdb"sql = "select 房间编号,房间类别,日住宿费,周住宿费,月住宿费,预订,空房from 客房信息" rs_dfdy.CursorLocation = adUseClientrs_dfdy.Open sql, conn, adOpenKeyset, adLockPessimisticDataGrid1.AllowAddNew = FalseDataGrid1.AllowDelete = FalseDataGrid1.AllowUpdate = FalseSet DataGrid1.DataSource = rs_dfdyExit Subloaderror:MsgBox Err.DescriptionEnd SubfrmdfEdit窗体代码:Option ExplicitDim rs_xgkfinfo As New adodb.RecordsetPrivate Sub cmddel_Click()Dim answer As Stringanswer = MsgBox("确定要删除吗?", vbYesNo, "")If answer = vbYes ThenDataGrid1.AllowDelete = TrueDataGrid1.AllowAddNew = FalseDataGrid1.AllowDelete = Falsers_xgkfinfo.Deleters_xgkfinfo.UpdateDataGrid1.RefreshElseExit SubEnd IfEnd SubPrivate Sub cmdEdit_Click()Dim answer As StringOn Error GoTo cmdEditcmddel.Enabled = FalsecmdEdit.Enabled = Falsecmdupdate.Enabled = TrueCommand4.Enabled = FalseDataGrid1.AllowUpdate = TrueExit SubcmdEdit:If Err.Number <> 0 ThenMsgBox Err.DescriptionEnd IfEnd Sub'-------------------------------------------------------Private Sub DataGrid1_BeforeColUpdate(ByVal ColIndex As Integer, OldValue As Variant, Cancel As Integer)If ColIndex = 3 ThenIf Not IsDate(DataGrid1.Columns(3).Value) ThenCancel = TrueMsgBox "请输入一个日期型数据。
//酒店客房管理课设源代码#include<stdio.h>#include<string.h> #include<stdlib.h> #define M 81 intz[81]={0}; 初始化为0 int j,s;FILE *fp; struct date {int month; int day; int year; }final;//在使用中要用到的字符串都包含在本文件中//exit()函数就包含在此文件中//定义一个数组存放使用的房间的标记的信息,且//定义两个全局变量//定义一个指向文件的指针变量struct hotel{int price;int room_ID; struct client {char name[20]; int sex;int age;char ID_card[20]; int count;struct date start; }personal;}room[M];构体//int fflush( fp);void save();void search_situ( ); void regist_infor( ); void modify_infor( ); void modify_one( ); void modify_hotel( ); void disp_money( );//定义全局结构体变量,且里面又调用两个结〃声明刷新函数fflush( fp),且指向指针变量指向的位置//声明查看客房入住情况函数//声明客房登记入住函数//声明客房信息修改函数函数//声明修改客房信息函数中的修改个人函数//声明修改客房信息函数中的修改客房函数//声明显示入住费用函数int main(){int menu(); //声明主菜单函数void print_star();void print_message();printf("\n\n\n\n\n");print_star();printf("\n");print_message();printf("\n");print_star();menu(); //把主菜单用函数来实现save();return 0;}void print_star(){int i;for(i=1;i<30;i++)printf("\t*");}void print_message(){printf("\t\t\t\t欢迎使用客房管理系统\n");}int menu(){int n;do{printf("\n");printf("\t\t******************** 酒店客房管理系统*******************\n\n\n");printf("\t\t\t\t1:查看客房入住情况\n\n\n");printf("\t\t\t\t2:登记入住信息\n\n\n");printf("\t\t\t\t3:修改客房信息\n\n\n");printf("\t\t\t\t4:显示入住费用\n\n\n");printf("\t\t\t\t5:退出\n\n\n");printf("\t\t\t\t6:返回\n\n\n");printf("\t\t*********************菜单********************\n");printf("\n\n\t\t\t 请选择输入选项[1\\2\\3\\4\\5\\6]:\n");scanf("%d",&n);while(n<1||n>6){printf("请重新输入选项!)scanf("%d",&n);}void search_situ( )//查看函数 {int g,count=0; for(g=1;g<=80;g++){if(z[g]==0) ++count; elseif(z[g]==1)printf("\n 正在使用的房间号:%d",g);}printf("\n\n 未使用的房间数:%d",count);〃通过循环输出未使用的房间数 printf("\n\n");printf("\n 请输入需查询的房间号:\n"); 〃查询输入的房间号的信息,且输出该房间的 相关信息scanf("%d",&s);if(z[s]==1){printf("姓名:%s",room[s]);printf("\n 性别(其中:1 表示男,2 表示女!):%d",room[s].personal.sex);printf ("也年龄:%d",room[s].personal.age);printf ("也身份证号:%s",room[s].personal.ID_card);printf ("也入住年份:%d",room[s].personal.start.year);printf("月:%d",room[s].personal.start.month);printf("日:%d",room[s].personal.start.day);printf ("也房间号:%d",room[s].room_ID);printf ("也客房单价:%d",room[s].price);printf ("也入住人数:%d",room[s].personal.count); menu();}switch(n){case 1:search_situ();break;case 2:regist_infor();break;case 3:modify_infor();break;case 4:disp_money();break;case 5:exit(0);case 6:break;}}while(n!=6);scanf("%d",&n);return 0;}//调用查看函数 //调用登记函数 //调用修改函数 //调用显示入住费用函数elseprintf("该房间未被使用!)save(); //调用保存函数}void regist_infor( ) // 登记函数{printf("请输入登记相关信息:\n");printf("\n 房间号:");scanf("%d",&j);room[j].room_ID=j;printf("\n 姓名:");scanf("%s",&room[j]);printf("\n性别(其中:1表示男,2表示女!):");scanf("%d",&room[j].personal.sex);printf("\n 年龄:");scanf("%d",&room[j].personal.age);printf("\n 身份证号:");scanf("%s",&room[j].personal.ID_card);printf("\n 入住年份:");scanf("%d",&room[j].personal.start.year);printfC H ");scanf("%d",&room[j].personal.start.month);printfC R ");scanf("%d",&room[j].personal.start.day);printf("\n 客房单价:");scanf("%d",&room[j].price);printf("请输入入住人数\n");scanf("%d",&room[j].personal.count);z[j]=1; //标记使用的房间为1save();} void modify_infor( ) {int r,m;do//修改函数printf("\t\t\t******************* 菜单******************\n\n\n"); printf("\t\t\t\t\t 1:修改客户信息\n\n\n");printf("\t\t\t\t\t 2:修改客房信息\n\n\n");printf("\t\t\t\t\t 3:菜单\n\n\n");printf("\t\t\t\t\t4:退出\n\n\n");printf("\t\t\t *****************************************\n\n\n");printf("\t\t\t 请选择输入选项[1\\2\\3\\4]:\n");scanf("%d",&m);if(m<1||m>3){r=1;getchar();}else r=0;}while(r==1);switch(m){case 1:modify_one();break;case 2:modify_hotel();break;case 3:menu();case 4:exit(0);}save();}void modify_one() //修改个人信息函数{int q;char a[20];printf("\n请选择您要修改的个人选项\n");printf("1:姓名2:性别(其中:1表示男,2表示女!)3:年龄4:身份证号5:入住年份6: 入住月份7入住日8:入住人数\n");printf("\t 请选择输入选项[1\\2\\3\\4\\5\\6\\7\\8]:\n\b\b");scanf("%d",&q); switch(q) {int t,p;char k;case 1:printf("请输入新名字\n");for(t=0;t<20;t++)scanf("%s",&a[t]);strcpy(room[j],a);break;case 2:printf("请选择新性别(其中:1表示男,2表示女!)\n");scanf("%d",&k);room[j].personal.sex=k;break;case 3:printf("请输入新年龄\n");scanf("%d",&p);room[j].personal.age=p;break;case 4:printf("请输入新身份证号\n");scanf("%d",&p);room[j].personal.ID_card[20]=p;break;case 5:printf("请输入新年份\n");scanf("%d",&p);room[j].personal.start.year=p;break;case 6:printf("请输入新月份\n");scanf("%d",&p);room[j].personal.start.month=p;break;case 7:printf("请输入新日子\n");scanf("%d",&p);room[j].personal.start.day=p;break;case 8:printf("请输入新入住人数\n");scanf("%d",&p);room[j].personal.count=p;break; } menu();}void modify_hotel() //修改客房信息函数{int l;printf("\n\t\t\t\t请选择您要修改的客房信息值也");printf("\t\t\t\t1:房间号\n\n \t\t\t\t2:客房单价也\口\川:\田3:入住人数\n\n \t\t\t\t4:返回\n\n");printf("\t\t\t 请选择输入选项[1\\2\\3\\4]:\n\b\b");scanf("%d",&l); switch(l) {case 1:printf("请输入旧房号\n");scanf("%d",&j);printf("请输入新房号\n");scanf("%d",&s);strcpy(room[s],room[j]);room[s].personal.sex=room[j].personal.sex; room[j].personal.sex=0;room[s].personal.age=room[j].personal.age; room[j].personal.age=0;strcpy(room[s].personal.ID_card,room[j].personal.ID_card);room[s].personal.start.year=room[j].personal.start.year;room[j].personal.start.year=0;room[s].personal.start.month=room[j].personal.start.month;room[j].personal.start.month=0;room[s].personal.start.day=room[j].personal.start.day;room[j].personal.start.day=0;room[s].room_ID=s;room[s].price=room[j].price;room[s].personal.count=room[j].personal.count;z[s]=1; z[j]=0; break;case 2:printf("请输入房号\n");scanf("%d",&s);printf("请输入新单价\n");scanf("%d",&s);room[s].price=s;break;case 3:printf("请输入房号\n");scanf("%d",&s);printf("请输入新入住人数\n");scanf("%d",&s);room[s].personal.count=s;break;case 4:break;}save();menu();}void disp_money( ) //显示入住费用函数{int i,sum;printfC请输入房间号;\n");scanf("%d",&room[j].room_ID);printf("\n 入住年份:%d",room[j].personal.start.year);printf("月:%d",room[j].personal.start.month);printf("日:%d",room[j].personal.start.day);printf("房间单价为:");printf("%d",room[j].price);printf("\n请输入退房时间:\n");printf("请输入年份:");scanf("%d",&final.year);printf("请输入月份:");scanf("%d",&final.month);printf("请输入日:");scanf("%d",&final.day);printf("\n请输入住房天数:\n");scanf("%d",&i);sum=room[j].price*i;printf("总费用sum=%d\n",sum);save(); menu();}void save() //保存函数{FILE *fp;int i;if((fp=fopen("客房管理.txt","w+"))==NULL) 〃打开输出文件“客房管理.txt”{printf("cannot open file\n");exit(0);}for(i=0;i<M;i++){if(fwrite((&room[i]), sizeof(room[M]),1,fp)!=1) printf("file write error\n");fflush(fp);}fclose(fp); //关闭文件}。
create database hotelmanager /*创建数据库hotelmanager*/ gouse hotelmanagergocreate table cusinfo /*创建数据表cusinfo*/ (dingname varchar(10) not null,cname varchar(10),cid char(18),vip char(2))gocreate table ordform /*创建数据表ordform*/(ono varchar(36) not null,cname varchar(10) not null,csex char(2),cid char(18),rid char(6) not null,rstyle varchar(10),arrivetime datetime,cno char(10) not null,dingname varchar(10),livetime char(10),dingph char(15) not null,ozt char(4))gocreate table roominfo /*创建数据表roominfo*/(rid char(6) not null,rstyle varchar(10),kfzt char(2) not null)gocreate table liveorder /*创建数据表liveorder*/ (lno varchar(36) not null,rid char(6) not null,rstyle varchar(10),btime datetime not null,cno char(10),cname varchar(10) not null,etime datetime,ono varchar(36),lzt char(4) )gocreate table bill /*创建数据表bill*/(bno varchar(36) not null,rid char(6) not null,cname varchar(10),cust money,btime datetime,etime datetime,remarks varchar(40))gocreate table roomsp /*创建数据表roomsp*/(rstyle varchar(10) not null,rprice money)gocreate table hordform /*创建数据表hordform*/(ono varchar(36) not null,cname varchar(10) not null,csex char(2),cid char(18),rid char(6) not null,rstyle varchar(10),arrivetime datetime,cno char(10) not null,dingname varchar(10),livetime char(10),dingph char(15) not null,ozt char(4))gocreate table hliveorder /*创建数据表hliveorder*/(lno varchar(36) not null,rid char(6) not null,rstyle varchar(10),btime datetime not null,cno char(10),cname varchar(10) not null,etime datetime,ono varchar(36),lzt char(4) )goinsert into cusinfo values('mao','zcl','330227************','n') insert into cusinfo values('qxb','zyy','330227************','n') goinsert into roominfo values('2010','s','n')insert into roominfo values('2201','s','n')insert into roominfo values('2301','s','n')insert into roominfo values('3010','s','y')insert into roominfo values('3012','s','n')insert into roominfo values('3015','s','n')insert into roominfo values('4210','d','n')insert into roominfo values('4110','d','n')insert into roominfo values('4010','d','n')insert into roominfo values('5220','d','n')insert into roominfo values('5210','d','n')insert into roominfo values('5201','d','n')goinsert into roomsp values('s',200)insert into roomsp values('d',300)goinsert into ordform values('o0201001','zcl','f','330227************','2301','s','2010-01-02','1','mao','1','883060089','n')goinsert into liveorder values('l2010001','2301','s','2010-01-02','1','zcl','2010-01-03','o0201001','n') insert into liveorder values('l2010002','3010','s','2010-01-03','1','qxb','2010-01-04','o0201002','y') insert into liveorder(lno,rid,rstyle,btime,cno,cname,ono,lzt)values('l2010003','5220','d','2010-01-09','1','myy','o0201003','y')insert into liveorder(lno,rid,rstyle,btime,cno,cname,ono,lzt)values('l2010004','5201','d','2010-01-02','2','zxx',null,'y')goinsert into bill(bno,rid,cname,cust,btime) values('b2010003','5220','myy',0,'2010-01-10')insert into bill(bno,rid,cname,cust,btime) values('b2010004','5201','zxx',0,'2010-01-02')goalter table cusinfo add primary key(dingname)alter table ordform add primary key(ono)alter table roominfo add primary key(rid)alter table liveorder add primary key(lno)alter table bill add primary key(bno)alter table roomsp add primary key(rstyle)gocreate proc ordformproc @lno varchar(36) /*保存入住单*/asbegin tranupdate roominfo set kfzt='y' from roominfo,liveorder where liveorder.rid=roominfo.rid and liveorder.lno=@lno /*修改客房信息*/update ordform set ozt='y' from ordform,liveorder where liveorder.ono=ordform.ono and liveorder.lno=@lno /*修改预订单信息*/insert into hordform select * from ordform where ozt='y' /*将已入住的预订单放入历史*/delete from ordform where ozt='y' /*清除已入住预订单*/commitgoselect * from roominfoselect * from ordformgoexec ordformproc 'l2010001'exec ordformproc 'l2010004'select * from roominfoselect * from ordformgocreate proc liveorderproc @lno varchar(36) /*收银退房*/asbegin tranupdate liveorder set etime=getdate(),lzt='n' where lno=@lnoupdate roominfo set kfzt='n' from roominfo,liveorder where roominfo.rid=liveorder.rid and liveorder.lno=@lno /*修改客房状态*/insert into hliveorder select * from liveorder where lno=@lno /*导入历史*/ delete from liveorder where lno=@lno /*清除入住单*/commitgoselect * from liveorderselect * from hliveordergoexec liveorderproc 'l2010004'goselect * from liveorderselect * from hliveorderselect *from roominfo where rid='5201'gocreate proc billproc @lno varchar(36) /*计算应收款*/asbegin trandeclare @total moneydeclare @datecount intupdate liveorder set etime=getdate() where lno=@lno /*设置离店时间*/select @datecount=datediff(dd,btime,getdate()) from liveorder where lno=@lno /*计算住店天数*/select @total=0select @total=@datecount*(isnull(rprice,0)) from liveorder,bill,roomspwhere bill.rid=liveorder.rid and liveorder.rstyle=roomsp.rstyle and lno=@lno /*计算住店金额*/update bill set etime=getdate(),cust=@total from bill,liveorder where bill.rid=liveorder.rid and lno=@lno /*修改账单*/commitgoselect * from liveorderselect * from billgoexec billproc 'l2010004'goselect * from liveorderselect * from bill(注:素材和资料部分来自网络,供参考。
酒店管理系统数据库代码use Hotel_Management1select*from Customerselect*from Employeeselect*from RoomTypeselect*from Roomselect*from OrderInfoselect*from Checkoutdrop database Hotel_Management1------------------------创建数据库Hotel_Management---------------------------------------------------------------------- create database Hotel_MDBonprimary(name=Hotel_Management1,filename='F:\Hotel_Management\Hotel_Management.MDF',size=10MB,filegrowth=20%)log on(name=Hotel_Management1,filename='F:\Hotel_Management\Hotel_Management1.LDF',size=10MB,filegrowth=2MB)--使用数据库USE Hotel_Management1--------------------------------------------创建表-----------------------------------------------------------------1顾客表create table Customer(CustomerID int primary key,CustomerName nvarchar(40)not null,CustomerInfo nvarchar(18)not null,Csex nvarchar(1),CPhone nvarchar(11)not null,Notes ntext)--drop table Customer--2员工表create table Employee(EmployeeID int primary key,UserName nvarchar(40)not null,Password nvarchar(40)not null,EmployeeName nvarchar(40)not null,Esex nvarchar(1),EPhone nvarchar(11)not null,Notes ntext)--3客房表(有外键)create table Room(RoomID int primary key,RoomTypeID int not null,RoomState nvarchar(1)not null,Notes ntext,FOREIGN KEY(RoomTypeID)REFERENCES RoomType(RoomTypeID), )--drop table Room--4客房类型表(有外键)create table RoomType(RoomTypeID int primary key,RoomTypeName nchar(20)not null,Cost float,Total int,Surplus int,Notes ntext,)--drop table RoomType--5订房表select*from OrderInfocreate table OrderInfo(OrderID int not null primary key,RoomID int not null,CustomerID int,EmployeeID int,Entertime datetime not null,Deposit float,ORstatic nvarchar(10)not null,Notes ntext,FOREIGN KEY(CustomerID)REFERENCES Customer(CustomerID), FOREIGN KEY(RoomID)REFERENCES Room(RoomID),FOREIGN KEY(EmployeeID)REFERENCES Employee(EmployeeID),)--alter table add constraint OI_D ORstatic default 'use'--drop table OrderInfo--6退房表check-outcreate table Checkout(CheckoutID int primary key,RoomID int not null,CustomerID int,EmployeeID int,Entertime datetime not null,Endtime datetime not null,Total_consumption float,Notes ntext,FOREIGN KEY(EmployeeID)REFERENCES Employee(EmployeeID),FOREIGN KEY(CustomerID)REFERENCES Customer(CustomerID),)--drop table Checkoutsp_help Checkout----------------------------------------表插入信息---------------------------------------------------------------------- --Employee表insert into Employee values('zhoutonglu',123456,'董洁','f',,null)insert into Employee values('liminghao',123456,'李明浩','m',,null)insert into Employee values('yuxian',123456,'余香','f',,null)select*from Employee---RoomType表select*from RoomTypeinsert into RoomType values(1,'单间',200,20,19,null)insert into RoomType values(2,'标准间',260,20,19,null)insert into RoomType values(3,'豪华单间',580,20,19,null)insert into RoomType values(4,'行政套房',880,20,19,null)----Room表select*from Roominsert into Room values('1011',1,'Y',null)insert into Room values('1012',1,'N',null)insert into Room values('1021',2,'Y',null)insert into Room values('1022',2,'N',null)insert into Room values('1031',3,'Y',null)insert into Room values('1032',3,'N',null)insert into Room values('1041',4,'Y',null)insert into Room values('1042',4,'N',null)insert into Room values('1013',1,'Y',null)insert into Room values('1014',1,'N',null)insert into Room values('1023',2,'Y',null)insert into Room values('1024',2,'N',null)insert into Room values('1033',3,'Y',null)insert into Room values('1034',3,'N',null)insert into Room values('1051',4,'Y',null)insert into Room values('1052',4,'N',null)---Customer 表select*from Customerselect*from Roominsert into Customer values('刘德华',,'m',,null)insert into Customer values('张更硕',,'m',,null)insert into Customer values('周辉',,'m',,null)insert into Customer values('刘美美',,'f',,null)insert into Customer values('范冰冰',,'f',,null)insert into Customer values('佟大为',,'m',,null)insert into Customer values('范玮琪',,'f',,null)insert into Customer values('陈小春',,'m',,null)insert into Customer values('kenim',,'m',,null)--OrderInfo 表select*from OrderInfoinsert into OrderInfo values(9001,'1011',1,1,'2013-09-03 9:00PM',250.00,'use',null)insert into OrderInfo values(9002,'1021',2,2,'2013-09-05 7:00PM',300.00,'use',null)insert into OrderInfo values(9003,'1031',3,2,'2013-09-04 8:00PM',600.00,'use',null)insert into OrderInfo values(9004,'1041',4,2,'2013-09-12 2:00PM',1000.00,'use',null)insert into OrderInfo values(9005,'1021',9,2,'2013-09-04 7:00PM',300.00,'use',null)insert into OrderInfo values(9006,'1031',10,2,'2013-09-04 8:00PM',600.00,'use',null)--insert into OrderInfo values(9007,'1041',11,2,'2013-09-4 2:00PM',1000.00,'use',null)exec proc_find_stu 1041---库存-1--insert into OrderInfo values(9005,'1012',1,1,'2013-09-03 9:00PM',250.00,'use' ,null)--delete OrderInfo where OrderID in(9005)--drop table OrderInfo---Checkout表insert into Checkout values(13001,'1011',1,2,'2013-09-03 9:00PM','2013-09-04',200,NULL)insert into Checkout values(13002,'1021',2,2,'2013-09-03 3:00PM','2013-09-04',200,NULL)insert into Checkout values(13003,'1031',3,2,'2013-09-03 10:00PM','2013-09-04',200,NULL)--insert into Checkout values(13004,'1041',4,2,'2013-09-03 8:00PM','2013-09-04',200,NULL )insert into Checkout values(13003,'1021',9,2,'2013-09-03 10:00PM','2013-09-04',880,NULL)delete Checkout where CheckoutID in(13001,13002)--drop table Checkoutselect*from Checkoutselect*from OrderInfoselect*from RoomTypeselect*from Roomexec proc_find_stu 1041---库存-1exec proc_find_stu2 1011---库存+1--insert into Checkout values('O2001','R003',1002,2,'2013-09-06',570,NULL )--insert into Checkout values('O2002','R001',1003,2,'2013-09-04',570,NULL )----------------------------------------创建触发器---------------------------------------------------------------------- --1\创建客房使用状态触发器(插入)create trigger RoomState_1on OrderInfofor insertasupdate Roomset RoomState='Y'where RoomID=any(select RoomID from INSERTED )--drop trigger RoomState_1--2-创建客房使用状态触发器(删除)create trigger RoomState_2on Checkoutfor insertasupdate Roomset RoomState='N'where RoomID in(select RoomID from INSERTED )--drop trigger RoomState_2---3--创建修改订单状态触发器create trigger ORstatic_1on Checkoutfor insertasupdate OrderInfoset ORstatic='NO'where RoomID=any(select RoomID from INSERTED )--drop trigger ORstatic_1---------------------------------------存储过程------------------------------------------------------------------------------------------------------------------------------------1--创建修改客房库存触发器(减少)create proc proc_find_stu(@startId int)asupdate RoomType set Surplus=(Surplus-1)where RoomTypeID in(select RoomTypeID from Room where RoomID=@startId) goexec proc_find_stu 1011--2--创建修改客房库存触发器(增长)create proc proc_find_stu2(@startId int)asupdate RoomType set Surplus=(Surplus+1)where RoomTypeID in(select RoomTypeID from Room where RoomID=@startId) goexec proc_find_stu2 1011---系统功能流程use Hotel_Management1select*from Customerselect*from Employeeselect*from RoomTypeselect*from Roomselect*from OrderInfoselect*from Checkout--()顾客入住员工查询闲置房间select*from Room where RoomState='N'select RoomID,RoomTypeName,RoomState,Cost,Total,Surplus from Room,RoomType where Room.RoomTypeID=RoomType.RoomTypeID and RoomState='N'---A。
c 宾馆管理系统课程设计一、课程目标知识目标:1. 理解宾馆管理系统的基本概念、功能模块及其在宾馆行业中的应用。
2. 掌握宾馆管理系统中数据库的设计与操作,包括客户信息、房间信息、预订管理等。
3. 学会运用编程语言(如C语言)实现宾馆管理系统的基本功能,如录入、查询、预订和退房等。
技能目标:1. 能够运用结构化分析方法设计宾馆管理系统的功能模块和数据流程。
2. 掌握宾馆管理系统数据库的搭建与维护,实现数据的增删改查操作。
3. 培养编程实践能力,独立编写C语言代码实现宾馆管理系统的核心功能。
情感态度价值观目标:1. 培养学生对宾馆管理系统的兴趣,激发其学习编程的热情。
2. 培养学生的团队协作意识和解决问题的能力,使其在项目实践中体验到合作与成功的喜悦。
3. 增强学生的信息素养,使其认识到信息技术在宾馆行业中的重要作用,为未来从事相关工作奠定基础。
本课程针对高年级学生,结合学科特点和教学要求,注重理论与实践相结合,旨在提高学生的编程实践能力和项目管理能力。
课程目标具体、可衡量,以便学生和教师能够清晰地了解课程的预期成果,并为后续的教学设计和评估提供依据。
二、教学内容1. 宾馆管理系统概述:介绍宾馆管理系统的基本概念、发展历程、功能模块及其在实际应用中的重要性。
相关教材章节:第一章 宾馆管理系统概述2. 数据库设计:讲解数据库的基本概念,指导学生运用实体-关系模型进行宾馆管理系统数据库设计。
相关教材章节:第二章 数据库设计基础3. C语言基础:复习C语言基础知识,包括数据类型、运算符、控制结构等,为后续编程实践打下基础。
相关教材章节:第三章 C语言基础4. 宾馆管理系统功能模块实现:分别讲解客户信息管理、房间信息管理、预订管理等功能模块的实现方法。
相关教材章节:第四章 宾馆管理系统功能模块实现5. 编程实践:指导学生运用C语言编写宾馆管理系统的核心功能模块,并进行调试与优化。
相关教材章节:第五章 编程实践6. 系统测试与优化:介绍系统测试方法,指导学生进行宾馆管理系统的功能测试、性能测试等,并对发现的问题进行优化。
酒店客房管理系统设计一、 需求分析1.1 系统需求分析“客房管理信息系统”以实现宾馆客房各种信息的系统化、规范化、自动化为目标,具 体要达到以下几个基本要求:(一)客户入住管理通过该管理功能,系统可以通过计算机对客户的一些基本信息进行录入,成为客房管理信息系统查询的数据资料。
(1)新客人信息的录入。
(2)客人信息的修改。
(3)客人信息的查询。
(4)客人信息的删除。
(5)客人信息的保存。
(6)客房信息的查询。
(二)结算管理(1)退房结算:输入客户房号,查找该客户信息、住房信息以及费用情况。
(2)收银处理:确认客户总费用,并自动登记总费用帐。
同时,自动将房间用房标志(占)改为(空);并将客户信息保存。
1.2数据分析通过进行系统调查,了解用户需求、分析应用软件系统的功能需求。
总结出了系统逻辑模型,即系统业务流程图、数据流图、应用软件功能结构图和数据字典等。
各流程图如下面的图所示:客房管理系统操作员客房客户操作查询返回信息1.2.1 客房管理系统业务流程图客户操作员返回结果交钱结账结账费用入住登记返回信息返回结果查询要求核对账单返回账单信息入住 管理结算 处理结算账单入住信息客房信息P1P2 D1D2D3要求客房管理系统入住管理 结算管理信息查询客户登记退房结算收银处理1.2.3 客房管理系统功能模块客户查询客房查询1.2.2 客房管理系统数据流图二、数据库概念结构设计经考察和分析,本案例客房管理系统包括以下实体:客户实体、客房实体、操作员实体、退房实体,它们的E-R 图如以下所示。
客户 客户编号 客户姓名年龄性别 身份证号户籍客房号客房类型客房价格 住宿日期住宿时间 离宿日期 离宿时间押金 账单编号 退房 入住登记客房号 客房类型 客房价格客房状态客房 返回退房登记客户编号 客户姓名 身份证号 客房号客房类型客房价格住宿日期住宿时间住宿天数宿费水费电费总额三、数据库逻辑结构设计根据E-R图,将图转换为关系模型即:将实体、实体的属性和实体之间的联系转换为关系模式,然后对数据模型进行优化得到如下关系数据表。
酒店管理系统是一个非常实用的项目,它可以帮助酒店提高效率,优化客户体验。
以下是一个简单的酒店管理系统的C语言课程设计示例:c复制代码#include<stdio.h>#include<string.h>// 定义酒店房间结构体struct HotelRoom {int room_number;char type[20];int occupancy;};// 定义酒店房间数组struct HotelRoom rooms[100];int num_rooms = 0;// 添加房间函数void add_room(int room_number, char* type, int occupancy) {struct HotelRoom new_room;new_room.room_number = room_number;strcpy(new_room.type, type);new_room.occupancy = occupancy;rooms[num_rooms++] = new_room;}// 查找房间函数struct HotelRoom* find_room(int room_number) {for (int i = 0; i < num_rooms; i++) {if (rooms[i].room_number == room_number) {return &rooms[i];}}return NULL;}// 打印所有房间函数void print_rooms() {printf("Room Number\tType\tOccupancy\n");for (int i = 0; i < num_rooms; i++) {printf("%d\t%s\t%d\n", rooms[i].room_number, rooms[i].type,rooms[i].occupancy);}}int main() {add_room(101, "Single", 0);add_room(102, "Double", 0);add_room(103, "Family", 0);print_rooms(); // 输出: Room Number Type Occupancy 101 Single 0 102 Double 0 103 Family 0struct HotelRoom* room = find_room(102);if (room != NULL) {printf("Found room %d: %s, occupancy: %d\n", room->room_number, room->type, room->occupancy); // 输出: Found room 102: Double,occupancy: 0} else {printf("Room not found\n");}return0;}这个示例中,我们定义了一个HotelRoom结构体来表示酒店房间,然后使用一个数组来存储所有的房间。
一、设计内容与设计要求1.设计内容:数据库系统原理的课程设计要求学生综合利用本课程的有关知识,在教师的指导下,利用特定的数据库设计环境,针对具体的问题,完成从系统的需求分析、数据库的概念设计、数据库的逻辑设计,到数据库实现等设计过程,最终实现一个较为完整的反映应用需求的数据库系统。
因此,在设计中,要求学生应该全面考虑各个设计环节以及它们之间的相互联系。
下面是各个设计阶段的具体内容。
⒈系统需求分析需求分析是数据库系统设计的一个重要的环节。
本阶段应该对整个应用情况作全面的、详细的调查,确定特定数据库应用环境下的设计目标,收集该应用环境下针对系统设计所需要的基础数据以及对这些数据的具体存储要求,从而确定用户的需求。
用户对数据库的需求包括:⑴处理需求。
即用户要完成什么处理功能等。
学生在设计中应根据具体的课题要求确定系统应该实现的功能,一些基本的功能通常是必须具备的,如用户的管理与维护,基本数据的维护,灵活的信息查询等。
⑵信息需求。
即在数据库中需要存储哪些数据。
学生应该根据具体的课题,认真分析有关的要求,确定本设计的信息需求。
⑶安全性和完整性功能。
实践中这是一个需要与用户不断交流才能逐步确定的需求。
本课程设计要求学生在自己的设计中能反映出基本的安全性和完整性功能。
本阶段的设计结果(即系统需求分析)应该在课程设计报告中进行详细描述,画出系统的数据流图,写出较为详细的数据字典,作为本课程设计的验收依据之一。
⒉数据库的概念设计数据库的概念设计是在需求分析的基础上,利用与用户双方都能理解的形式,设计出数据库的概念模型。
本课程设计要求学生采用E-R方法进行数据库的概念设计。
本设计阶段可分为:● 数据抽象。
即根据需求分析的结果,抽取出与本课程设计相关的特性。
设计局部概念模式。
运用E-R方法,设计出系统的各个局部ER模型。
● 设计全局概念模式。
通过对局部E-R模型的操作,解决各个E-R模型关于对象定义不一致问题,以及对各个E-R模型进行合并优化等,最终形成数据库的全局概念模式。
create database hotelmanager /*创建数据库hotelmanager*/ gouse hotelmanagergocreate table cusinfo /*创建数据表cusinfo*/ (dingname varchar(10) not null,cname varchar(10),cid char(18),vip char(2))gocreate table ordform /*创建数据表ordform*/(ono varchar(36) not null,cname varchar(10) not null,csex char(2),cid char(18),rid char(6) not null,rstyle varchar(10),arrivetime datetime,cno char(10) not null,dingname varchar(10),livetime char(10),dingph char(15) not null,ozt char(4))gocreate table roominfo /*创建数据表roominfo*/(rid char(6) not null,rstyle varchar(10),kfzt char(2) not null)gocreate table liveorder /*创建数据表liveorder*/(lno varchar(36) not null,rid char(6) not null,rstyle varchar(10),btime datetime not null,cno char(10),cname varchar(10) not null,etime datetime,ono varchar(36),lzt char(4) )gocreate table bill /*创建数据表bill*/(bno varchar(36) not null,rid char(6) not null,cname varchar(10),cust money,btime datetime,etime datetime,remarks varchar(40))gocreate table roomsp /*创建数据表roomsp*/(rstyle varchar(10) not null,rprice money)gocreate table hordform /*创建数据表hordform*/(ono varchar(36) not null,cname varchar(10) not null,csex char(2),cid char(18),rid char(6) not null,rstyle varchar(10),arrivetime datetime,cno char(10) not null,dingname varchar(10),livetime char(10),dingph char(15) not null,ozt char(4))gocreate table hliveorder /*创建数据表hliveorder*/(lno varchar(36) not null,rid char(6) not null,rstyle varchar(10),btime datetime not null,cno char(10),cname varchar(10) not null,etime datetime,ono varchar(36),lzt char(4) )goinsert into cusinfo values('mao','zcl','330227************','n') insert into cusinfo values('qxb','zyy','330227************','n') goinsert into roominfo values('2010','s','n')insert into roominfo values('2201','s','n')insert into roominfo values('2301','s','n')insert into roominfo values('3010','s','y')insert into roominfo values('3012','s','n')insert into roominfo values('3015','s','n')insert into roominfo values('4210','d','n')insert into roominfo values('4110','d','n')insert into roominfo values('4010','d','n')insert into roominfo values('5220','d','n')insert into roominfo values('5210','d','n')insert into roominfo values('5201','d','n')goinsert into roomsp values('s',200)insert into roomsp values('d',300)goinsert into ordform values('o0201001','zcl','f','330227************','2301','s','2010-01-02','1','mao','1','883060089','n')goinsert into liveorder values('l2010001','2301','s','2010-01-02','1','zcl','2010-01-03','o0201001','n') insert into liveorder values('l2010002','3010','s','2010-01-03','1','qxb','2010-01-04','o0201002','y') insert into liveorder(lno,rid,rstyle,btime,cno,cname,ono,lzt)values('l2010003','5220','d','2010-01-09','1','myy','o0201003','y')insert into liveorder(lno,rid,rstyle,btime,cno,cname,ono,lzt)values('l2010004','5201','d','2010-01-02','2','zxx',null,'y')goinsert into bill(bno,rid,cname,cust,btime) values('b2010003','5220','myy',0,'2010-01-10')insert into bill(bno,rid,cname,cust,btime) values('b2010004','5201','zxx',0,'2010-01-02')goalter table cusinfo add primary key(dingname)alter table ordform add primary key(ono)alter table roominfo add primary key(rid)alter table liveorder add primary key(lno)alter table bill add primary key(bno)alter table roomsp add primary key(rstyle)gocreate proc ordformproc @lno varchar(36) /*保存入住单*/asbegin tranupdate roominfo set kfzt='y' from roominfo,liveorder where liveorder.rid=roominfo.rid and liveorder.lno=@lno /*修改客房信息*/update ordform set ozt='y' from ordform,liveorder where liveorder.ono=ordform.ono and liveorder.lno=@lno /*修改预订单信息*/insert into hordform select * from ordform where ozt='y' /*将已入住的预订单放入历史*/ delete from ordform where ozt='y' /*清除已入住预订单*/commitgoselect * from roominfoselect * from ordformgoexec ordformproc 'l2010001'exec ordformproc 'l2010004'select * from roominfoselect * from ordformgocreate proc liveorderproc @lno varchar(36) /*收银退房*/asbegin tranupdate liveorder set etime=getdate(),lzt='n' where lno=@lnoupdate roominfo set kfzt='n' from roominfo,liveorder where roominfo.rid=liveorder.rid and liveorder.lno=@lno /*修改客房状态*/insert into hliveorder select * from liveorder where lno=@lno /*导入历史*/delete from liveorder where lno=@lno /*清除入住单*/commitgoselect * from liveorderselect * from hliveordergoexec liveorderproc 'l2010004'goselect * from liveorderselect * from hliveorderselect *from roominfo where rid='5201'gocreate proc billproc @lno varchar(36) /*计算应收款*/asbegin trandeclare @total moneydeclare @datecount intupdate liveorder set etime=getdate() where lno=@lno /*设置离店时间*/select @datecount=datediff(dd,btime,getdate()) from liveorder where lno=@lno /*计算住店天数*/ select @total=0select @total=@datecount*(isnull(rprice,0)) from liveorder,bill,roomspwhere bill.rid=liveorder.rid and liveorder.rstyle=roomsp.rstyle and lno=@lno /*计算住店金额*/ update bill set etime=getdate(),cust=@total from bill,liveorder where bill.rid=liveorder.rid and lno=@lno /*修改账单*/commitgoselect * from liveorderselect * from billgoexec billproc 'l2010004'goselect * from liveorderselect * from bill。