VB航空公司管理信息系统 第5页

VB航空公司管理信息系统 第5页
由于系统中各个功能模块都将频繁使用数据库中的各种数据,因此需要一个公共的数据操作函数,用以执行各种SQL语句。添加函数ExecuteSQL,代码如下:
Public Function ExecuteSQL(ByVal SQL _
   As String, MsgString As String) _
   As ADODB.Recordset
'执行SQL语句,并返回记录集对象
   ‘声明一个连接
   Dim cnn As ADODB.Connection
   ‘声明一个数据集对象
   Dim rst As ADODB.Recordset
   Dim sTokens() As String
'异常处理
   On Error GoTo ExecuteSQL_Error
'用Split函数产生一个包含各个子串的数组  
   sTokens = Split(SQL)
  ‘创建一个连接
   Set cnn = New ADODB.Connection
'打开连接
   cnn.Open ConnectString
   If InStr("INSERT,DELETE,UPDATE", _
      UCase$(sTokens(0))) Then
     ‘执行查询语句
      cnn.Execute SQL
      MsgString = sTokens(0) & _
         " query successful"
   Else
      Set rst = New ADODB.Recordset
      rst.Open Trim$(SQL), cnn, _
         adOpenKeyset, _
         adLockOptimistic
      'rst.MoveLast     'get RecordCount
'返回记录集对象
      Set ExecuteSQL = rst
      MsgString = "查询到" & rst.RecordCount & _
         " 条记录 "
   End If
ExecuteSQL_Exit:
   Set rst = Nothing
   Set cnn = Nothing
   Exit Function  
ExecuteSQL_Error:
   MsgString = "查询错误: " & _
      Err.Description
   Resume ExecuteSQL_Exit
End Function
 
在ExecuteSQL函数中使用了Connect String函数,这个函数用来连接数据库,代码如下:
Public Function ConnectString() _
   As String
'返回一个数据库连接
   ConnectString = "FileDSN=ticket.dsn;UID=sa;PWD="
End Function
在录入有关信息时,需要回车来进入下一个文本框,这样对软件使用者非常方便。在所有的功能模块都需要这个函数,所以将它放在公用模块中,代码如下:
Public Sub EnterToTab(Keyasc As Integer)
    '判断是否为回车键

    If Keyasc = 13 Then
        '转换成Tab键
        SendKeys "{TAB}"
    End If
End Sub
Keyasc用来保存当前按键,SendKeys函数用来指定的按键。一旦按下回车键,将返回Tab键,下一个控件自动获得输入焦点。
添加全局变量,用来记录各个功能模块的读写状态,代码如下:
Public gintSmode As Integer '记载舱位等级功能模块的读写状态
Public gintPmode As Integer '记载客机信息模块的读写状态
Public gintAmode As Integer '记载航线信息模块的读写状态
Public gintTmode As Integer '记载客户类型模块的读写状态
Public gintCmode As Integer '记载客户信息模块的读写状态
Public gintKmode As Integer '记载订票信息模块的读写状态
这些全局变量用来记录是添加状态还是修改状态,赋值1为添加,赋值2为修改。
由于航空公司管理信息管理系统启动后,需要对用户进行判断。如果登录者是授权用户,将进入系统,否则将停止程序的执行。这个判断需要在系统运行的最初进行,因此将代码放在公用模块中。
5 系统用户管理模块的创建
用户管理模块主要实现:
 用户登录。
 添加用户。
 修改用户密码。
 
6 舱位信息管理模块的创建
舱位信息管理模块主要实现如下功能:
 添加舱位信息。
 修改舱位信息。
 删除舱位信息。
6.1 显示舱位信息窗体的创建
选择“航线信息管理|舱位信息”菜单,将出现如图9-12所示的窗体。
 
图9-12 舱位等级信息窗体
这个窗体用来显示舱位等级信息,并且可以对各条记录进行操作。在载入窗体时,程序将自动载入所有记录,代码如下:
Private Sub menuCarbin_Click()
    frmService.txtSQL = "select * from serviceInfo"
    frmService.Show 0
End Sub
窗体的Show方法后面加上0或者1,可以得到不同的窗体显示方式。参数为0时,显示的窗体为无模式形式,窗体切换时不需要进行其他操作;参数为1时,显示的窗体为有模式形式,窗体切换时必须进行相关操作。
载入窗体时将自动显示各条记录,代码如下:
Private Sub Form_Load()
    ShowTitle
    ShowData
End Sub
函数ShowTitle用来显示表头,代码如下:
Private Sub ShowTitle()
    Dim i As Integer
    With msgList
        .Cols = 12
        .TextMatrix(0, 1) = "等级编号"
        .TextMatrix(0, 2) = "机舱等级"
        .TextMatrix(0, 3) = "是否有礼品"
        .TextMatrix(0, 4) = "是否有报纸"
        .TextMatrix(0, 5) = "是否有饮料"
        .TextMatrix(0, 6) = "是否有午餐"
        .TextMatrix(0, 7) = "是否提供电影"
        .TextMatrix(0, 8) = "是否可以改签"
        .TextMatrix(0, 9) = "是否可以退票"
        .TextMatrix(0, 10) = "是否可以打折"
        .TextMatrix(0, 11) = "备注信息"
        '固定表头
        .FixedRows = 1
        '设置各列的对齐方式
        For i = 0 To 11
            .ColAlignment(i) = 0
        Next i
        '表头项居中
        .FillStyle = flexFillRepeat
        .Col = 0
        .Row = 0

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]  ... 下一页  >> 

Copyright © 2007-2012 www.chuibin.com 六维论文网 版权所有