rivate Sub cmdAdd_Click()
Dim str1 As String
Dim cnn As New ADODB.Connection '数据库连接
If cmdAdd.Caption = "新增" Then '按钮为“新增”状态
cmdAdd.Caption = "保存" '修改按钮标题为“保存”,提示用户保存数据
cmdCancel.Visible = True '显示“取消”按钮
lstbus.Enabled = False '禁止用户操作列表框
LockControl (False) '允许用户操作窗口中部分控件
txtbus.Text = "" '清除“线路名”文本框
txtBeginEnd.Text = "" '清除“运行区间”文本框
cmbTickType.Text = "无人售票" '设置售票类型的默认值
cmbPrice.Text = "上车一元" '设置票价的默认值
optIC2.Value = True '设置不支持IC卡
txtRuntime.Text = "" '清除“运行时间”文本框
txtCompany.Text = "" '清除“公交公司”文本框
txtMemo.Text = "" '清除“备注”文本框
Else
If Not CheckInput Then Exit Sub '调用CheckInput函数检查输入数据
cmdAdd.Caption = "新增" '修改按钮标题为“新增”
cmdCancel.Visible = False '隐藏“取消按钮"
lstbus.Enabled = True '允许用户操作列表框
LockControl (True) '锁定窗口中部分控件
'定义新增数据的SQL语句
str1 = "INSERT INTO [BUS]([bus],[beginend],[ticktype],[price]"
str1 = str1 + ",[ic],[runtime],[company],[memo]) VALUES(" 'INSERT INTO语句
str1 = str1 + "'" + txtbus.Text + "','" '线路名
str1 = str1 + txtBeginEnd.Text + "','" '运行区间
str1 = str1 + cmbTickType.Text + "','" '售票类型
str1 = str1 + cmbPrice.Text + "'," '票价
If optIC1.Value Then '是否支持IC卡
str1 = str1 + "true,'" '支持
Else
str1 = str1 + "false,'" '不支持
End If
str1 = str1 + txtRuntime.Text + "','" '运行时间
str1 = str1 + txtCompany.Text + "','" '公交公司
str1 = str1 + txtMemo.Text + "')" '备注
cnn.ConnectionString = Conn '设置数据库连接字符串
cnn.Open '打开数据库连接
cnn.Execute (str1) '执行INSERT INTO语句插入数据
cnn.Close '关闭数据库连接
Form_Load '调用窗体装载事件代码,重新将线路信息显示在列表框中
End If
End Sub
Private Sub cmdCancel_Click() '“取消”按钮放弃输入的值
lstbus.Enabled = True '允许用户操作列表框
cmdCancel.Visible = False '隐藏“取消”按钮,使其不可见
cmdAdd.Caption = "新增" '修改“保存”按钮标题为“新增”
LockControl (True) '锁定窗口中部分控件
lstbus_Click '调用列表框的单击事件代码
End Sub
Private Sub cmdExit_Click() '退出当前窗体
Dim ret As Integer
If cmdAdd.Caption = "保存" Then '判断是否有输入的信息未保存
ret = MsgBox("新增数据还未保存,是否退出?", vbQuestion + vbYesNo) '获取用户的选择
If ret = vbNo Then '选择“否”
Exit Sub '退出当前过程,则不退出当前窗体
End If
End If
Unload Me '退出当前窗体
End Sub
Private Sub Form_Load() '窗体初始化代码
Dim cnn As New ADODB.Connection '定义数据库连接变量
Dim rst As New ADODB.Recordset '定义记录集变量
LockControl (True) '锁定窗口中部分控件
cnn.ConnectionString = Conn '设置数据库连接字符串
cnn.Open '打开数据库连接
Set rst.ActiveConnection = cnn '设置记录集的数据库连接
rst.Open "SELECT [bus] FROM [bus]" '打开记录集,得到线路名数据
lstbus.Clear '清除列表框中原有内容
Do While Not rst.EOF '循环处理记录集中的数据
lstbus.AddItem rst(0).Value '将线路名添加到列表框中
rst.MoveNext '处理下一记录
Loop
If lstbus.ListCount > 0 Then '列表框中有数据
lstbus.ListIndex = 0 '选中第1个数据
End If
rst.Close '关闭记录集
cnn.Close '关闭数据库连接
End Sub
Private Sub Label2_Click()
End Sub
Private Sub Label8_Click()
End Sub
Private Sub lstbus_Click() '单击列表框时,更新右侧的显示数据
Dim cnn As New ADODB.Connection '定义数据库连接
Dim rst As New ADODB.Recordset '定义记录集
Dim str1 As String, str2 As String '临时字符串变量
str1 = lstbus.List(lstbus.ListIndex) '获取列表框中的选中项(可介绍一下列表框)
cnn.ConnectionString = Conn '设置数据库连接字符串
cnn.Open '打开数据库连接
Set rst.ActiveConnection = cnn '设置记录集的数据库连接
str2 = "SELECT * FROM [BUS] WHERE BUS='" & Trim(str1) & "'" '定义查询字符串
rst.Open str2 '打开记录集
If Not rst.EOF Then '若记录集不为空,显示内容
'gID = rst("id") '记录关键字
txtbus.Text = rst("bus") '线路名
txtBeginEnd.Text = rst("beginend") '运行区间
cmbTickType.Text = rst("ticktype") '售票类型
cmbPrice.Text = rst("price") '票价
If rst("ic") = True Then '支持IC卡
optIC1.Value = True
Else '不支持IC卡