PriceAs成人票价,"_
+"p.Child_PriceAs儿童票价,p.Input_timeAs录入时间"_
+"FROMPlacep,AreaaWHEREp.AreaId=a.AreaId"_
+"Anda.AreaName='"+Trim(ComboName.Text)+"'"
Adodc1.Refresh
EndSub
因为在DataGrid1控件中要显示的数据内容联系到了数据库中的两个表,这就是在数据库中所说地表的连接查询。要选择两个不同的表,需要找到一个两个表都相同的公共部分,这样才能使两个表建立起一定的关系。在本例中,Area表和Place表是通过AreaId字段来建立连接关系的。但我们在操作的时候好象并没有对AreaId进行实际操作。这里用到了前面所说地在创建表的脚本文件时,使用IDENTITY关键字定义表的标识列,IDENTITY属性可以用于获得自动增加的标识号。然后通过place.AreaId=MyArea.GetId(ComboName)语句把自动获得的标识号赋值到place表中的AreaId字段中。这样就可以使我们在实际应用中减少许多复杂地考虑过程,这种方法在后面的实例中也经常用到。
2.Cmd_Modi_Click事件
当用户单击"修改"按钮时,将触发Cmd_Modi_Click事件,对应的代码如下:
PrivateSubCmd_Del_Click()
DimTmpIdAsLong
'判断是否选择了要删除的记录
IfAdodc1.Recordset.EOF=TrueThen
MsgBox"请选择记录"
ExitSub
EndIf
'确定当前选择记录的位置
p=Adodc1.Recordset.AbsolutePosition
'读取当前行的景点编号,因为要以此编号做为删除景点的关键字
TmpId=MyPlace.GetId(Trim(Adodc1.Recordset.Fields(1)))
'判断当前记录是否出现在线路中
IfMylplace.PlaceInLine(TmpId)>0Then
MsgBox"此景点在线路中使用,不能删除"
ExitSub
EndIf
'确认删除
IfMsgBox("是否删除当前行?",vbYesNo,"确认")=vbYesThen
MyPlace.Delete(TmpId)
Refresh_Place
Ifp-1>0Then
Adodc1.Recordset.Movep-1
EndIf
EndIf
EndSub
PrivateSubCmd_Modi_Click()
'判断是否选择了记录
IfAdodc1.Recordset.EOF=TrueThen
MsgBox"请选择记录"
ExitSub
EndIf
'确定当前选择记录的位置
p=Adodc1.Recordset.AbsolutePosition
'地域信息
FrmPlaceEdit.OriAreaName=ComboName.Text
FrmPlaceEdit.OriType=ComboType.ListIndex+1
'景点编号
FrmPlaceEdit.OriId=MyPlace.GetId(Adodc1.Recordset.Fields(1))
'景点名称
FrmPlaceEdit.OriPlaceName=Trim(Adodc1.Recordset.Fields(1))
FrmPlaceEdit.txtPlace=Trim(Adodc1.Recordset.Fields(1))
'联系人
FrmPlaceEdit.txtContact=Trim(Adodc1.Recordset.Fields(2))
'联系电话
FrmPlaceEdit.txtPhone=Trim(Adodc1.Recordset.Fields(3))
'通信地址
FrmPlaceEdit.txtAddress=Trim(Adodc1.Recordset.Fields(4))
'邮政编码
FrmPlaceEdit.txtCode=Trim(Adodc1.Recordset.Fields(5))
'成人报价
FrmPlaceEdit.txtAdult=Trim(Adodc1.Recordset.Fields(6))
'儿童报价
FrmPlaceEdit.txtChild=Val(Adodc1.Recordset.Fields(7))
'把变量Modify设置为True,表示当前状态为修改已有记录
FrmPlaceEdit.Modify=True
FrmPlaceEdit.Show1
'修改完成,刷新显示内容
Refresh_Place
Adodc1.Recordset.Movep
EndSub
使用DataGrid控件显示数据的一种常用的方法,它的特点是简单直观,一目了然。DataGrid控件只能用来显示数据,数据源由ADOData控件提供。可以通过Adodc1.Recordeset.Fields(n)读取结果集中的字段数据,n是字段的序号,第1个字段的序号为0。
5.11宾馆、餐厅、娱乐资源管理模块设计
由于宾馆资源管理模块、餐厅资源管理模块设计、娱乐资源管理模块设计这三个模块设计的界面和模块功能基本相似。这里就以娱乐资源管理模块设计为例来说明。
娱乐资源管理模块可以实现以下功能:
●添加娱乐资源信息;
●修改娱乐资源信息;
●删除娱乐资源信息;
●查看娱乐资源信息。
5.11.1设计娱乐资源编辑窗体
创建一个新窗体,窗体名称设置为FrmAmuseEdit。窗体FrmAmuseEdit的布局入图5.11所示。
图5.11窗体FrmAmuseEdit的布局
5.11.2设计娱乐项目管理窗体
与景点、宾馆、餐厅等旅游资源不同,娱乐资源包含很多的娱乐项目。如保龄球、台球、游泳等,所以需要有一个娱乐项目管理窗体。创建一个新窗体,窗体名称设置为FrmAitemMan。窗体FrmAitemMan的布局如图5.11.2所示。
图5.11.2窗体FrmAitemMan的布局
下面分析窗体FrmAitemMan中几个主要过程的代码。
1.公共变量
在窗体FrmAitemMan中有一个公共变量OriAid,表示当前所编辑的娱乐项目所属的娱乐厅编号。此变量必须在启动窗体FrmAitemMan之前进行设置。
2.Loaditem()
Loaditem()过程的功能是根据变量OriAid指定的娱乐厅,读取娱乐厅中包含的所有娱乐项目,并把这些娱乐项目显示在列表中。对应的代码如下:
PrivateSubLoaditem()
DimiAsInteger
'清空娱乐项目列表
List1.Clear
'根据当前的娱乐厅编号,读取所有的娱乐项目到数组ArrItem()中
MyAitem.LoadItem_ByAmuse(OriAid)
'依次把数组ArrItem()中的数据添加到娱乐项目列表List1中
i=0
DoWhileArrItem(i)<>""
List1.AddItemArrItem(i)
i=i+1
Loop
EndSub
在程序设计中,经常需要把数据库中满足一定条件的数据读取到组合框或列表框中,以便用户选择,可以使用两种方法实现此功能。第一种方法使用DataCombo控件作为组合框,使用DataList控件作为列表框,把需要的数据读取到ADOData控件中。将DataList控件的RowSource属性设置为ADOData控件,ListField属性设置为要读取的字段,需要的数据就会自动出现在列表框中(组合框的方法也是一样的)。这种方法比较方便,不需要编写任何代码。第二种方法可以使用ComboBox控件作为组合框,使用ListBox控件作为列表框。编写程序将需要的数据从表中读取到一个(或一组)全局数组中,然后再使用AddItem方法把数组中的元素依次添加到ComboBox或ListBBox控件中。这样方法比较灵活,程序员可以控制程序的实现方法,增加一些扩展功能,同时全局数组中的数据不可以提供给其他部分的程序使用。
1.List1_Click过程
当用户单击娱乐项目列表时,将触发List1_Click事件,对应的代码如下:
PrivateSubList1_click()
'判断是否选择了娱乐项目
IfList1.Text=""Then
ExitSub
EndIf
'把选择的娱乐项目名称显示在右侧的"娱乐项目"编辑框中
txtItem=List1.Text
'读取娱乐项目编号,并根据此编号读取娱乐项目的所有信息
TmpId=MyAitem.GetId(OriAid,txtItem)
MyAitem.GetInfo(TmpId)
'把娱乐项目的价格赋值到txtPrice文本框中
txtPrice=MyAitem.Price
'把娱乐项目的编辑时间赋值到lblinput_time标签中
lblInput_time=MyAitem.Input_time
EndSub
5.11.3设计娱乐资源管理窗体
创建一个新窗体,窗体名称设置为FrmAmuseMan。窗体的布局如图5.11.3所示
图5.11.3窗体FrmAmuseMan的布局
当用户单击"娱乐项目"按钮时,将触发Cmd_Item_Click事件,对应的代码如下:
PrivateSubCmd_Item_Click()
'要进入娱乐项目管理界面,必须首先选择一个娱乐厅
IfAdodc1.Recordset.EOF=TrueThen
MsgBox"请选择记录"
ExitSub
EndIf
'读取选择好的娱乐厅娱乐,并赋值到FrmAitemMan.OriAid中
FrmAitemMan.OriAid=MyAmuse.GetId(Trim(Adodc1.Recordset.Fields(1)))
'打开娱乐项目管理窗体
FrmAitemMan.Show1
EndSub
5.12火车、飞机资
上一篇:
VB文档管理系统+论文(论文和程序)
下一篇:
法律专业开题报告范文