⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 loginmodule.bas

📁 城市公交系统的应用开发
💻 BAS
📖 第 1 页 / 共 4 页
字号:
Attribute VB_Name = "loginModule"
Public n As Long             '临时变量
Public z As Long             '临时变量
Public x1 As Long            'X轴坐标变量
Public y1 As Long            'Y轴坐标变量
Public dx As Long            '两个X轴坐标的差值变量
Public dy As Long            '两个Y轴坐标的差值变量
Public linecolor As Long     '颜色变量
Public sitecolor As Long     '颜色变量
Public cnn As Connection     '链接变量
Public rs As Recordset       '记录集变量
Public cmd As Command        '命令集变量
Public para As Parameter     '条件集变量
Public bussite() As Variant  '临时数组变量
Public bussites() As Variant  '临时数组变量
Public bussitet() As Variant '临时数组变量
Public siteside() As Variant '临时数组变量
Public area As Long          '临时数组变量
Public siterad As Integer    '站点半径变量
Public BusName(2) As String

Public Sub selectbussite() '站点信息查询
    BusSelect.BusList1.Clear
    Call connetion
    If BusSelect.BusOption4.Value = True Then
        cmd.CommandText = "select * from SiteName where SiteName like ? order by BusNameID ASC"
        
        '设置para相关属性
        para.Type = adBSTR
        para.Direction = adParamInput
        para.Value = BusSelect.BusTxt1.Text

        '把para添加到参数集
        cmd.Parameters.Append para
        cmd.Parameters(0) = BusSelect.BusTxt1.Text

        '执行command对象
        Set rs = cmd.Execute
        If Not rs.EOF Then
            n = rs.RecordCount
            ReDim bussite(n, 1)
            BusSelect.BusList1.AddItem "请点击列表框项查看相关信息"
            BusSelect.BusList1.AddItem "经过站点" & BusSelect.BusTxt1.Text & "的公交车有:"
            For i = 1 To rs.RecordCount
                bussite(i, 0) = rs("BusName").Value
                BusSelect.BusList1.AddItem "第" & rs("BusName").Value & "公交车"
                rs.MoveNext
            Next
            rs.Close
        Else
            MsgBox "没有" & BusSelect.BusTxt1.Text & "站点的相关信息,请您确认是模糊查询还是精确查询", 48, "提示信息"
            BusSelect.BusTxt1.SelStart = 0
            BusSelect.BusTxt1.SelLength = Len(BusSelect.BusTxt1.Text)
            BusSelect.BusTxt1.SetFocus
        End If
    ElseIf BusSelect.BusOption5.Value = True Then
        cmd.CommandText = "select * from SiteName where SiteName=? order by BusNameID ASC"
        
        '设置para相关属性
        para.Type = adBSTR
        para.Direction = adParamInput
        para.Value = BusSelect.BusTxt1.Text

        '把para添加到参数集
        cmd.Parameters.Append para
        cmd.Parameters(0) = BusSelect.BusTxt1.Text

        '执行command对象
        Set rs = cmd.Execute
        If Not rs.EOF Then
            n = rs.RecordCount
            ReDim bussite(n, 1)
            BusSelect.BusList1.AddItem "请点击列表框项查看相关信息"
            BusSelect.BusList1.AddItem "经过站点" & BusSelect.BusTxt1.Text & "的公交车有:"
            For i = 1 To rs.RecordCount
                bussite(i, 0) = rs("BusName").Value
                BusSelect.BusList1.AddItem "第" & rs("BusName").Value & "公交车"
                rs.MoveNext
            Next
            rs.Close
        Else
            MsgBox "没有" & BusSelect.BusTxt1.Text & "站点的相关信息,请您确认是模糊查询还是精确查询", 48, "提示信息"
            BusSelect.BusTxt1.SelStart = 0
            BusSelect.BusTxt1.SelLength = Len(BusSelect.BusTxt1.Text)
            BusSelect.BusTxt1.SetFocus
        End If
    End If
End Sub

Public Sub selectbusline() '公交线路查询
    BusSelect.BusList1.Clear
    Call connetion
    If BusSelect.BusOption4.Value = True Then
        cmd.CommandText = "select * from SiteName where BusName like ? order by BusNameID ASC"
        
        '设置para相关属性
        para.Type = adBSTR
        para.Direction = adParamInput
        para.Value = BusSelect.BusTxt1.Text

        '把para添加到参数集
        cmd.Parameters.Append para
        cmd.Parameters(0) = BusSelect.BusTxt1.Text

        '执行command对象
        Set rs = cmd.Execute
        If Not rs.EOF Then
            n = rs.RecordCount
            ReDim bussite(n, 3)
            BusSelect.BusList1.AddItem "请点击列表框项查看相关信息"
            BusSelect.BusList1.AddItem "第" & BusSelect.BusTxt1.Text & "车"
            bussite(0, 0) = Trim(BusSelect.BusTxt1.Text)
            For i = 1 To rs.RecordCount
                If i = 1 Then
                    bussite(i, 0) = rs("SiteName").Value
                    bussite(i, 1) = rs("SiteX").Value
                    bussite(i, 2) = rs("SiteY").Value
                    BusSelect.BusList1.AddItem "始    点:" & rs("SiteName").Value
                ElseIf i = rs.RecordCount Then
                    bussite(i, 0) = rs("SiteName").Value
                    bussite(i, 1) = rs("SiteX").Value
                    bussite(i, 2) = rs("SiteY").Value
                    BusSelect.BusList1.AddItem "终    点:" & rs("SiteName").Value
                ElseIf i < 10 Then
                    bussite(i, 0) = rs("SiteName").Value
                    bussite(i, 1) = rs("SiteX").Value
                    bussite(i, 2) = rs("SiteY").Value
                    BusSelect.BusList1.AddItem "第0" & i & "站点:" & rs("SiteName").Value
                Else
                    bussite(i, 0) = rs("SiteName").Value
                    bussite(i, 1) = rs("SiteX").Value
                    bussite(i, 2) = rs("SiteY").Value
                    BusSelect.BusList1.AddItem "第" & i & "站点:" & rs("SiteName").Value
                End If
                rs.MoveNext
            Next
            rs.Close
        Else
            MsgBox "没有第" & BusSelect.BusTxt1.Text & "车的相关信息,请您确认是模糊查询还是精确查询", 48, "提示信息"
            BusSelect.BusTxt1.SelStart = 0
            BusSelect.BusTxt1.SelLength = Len(BusSelect.BusTxt1.Text)
            BusSelect.BusTxt1.SetFocus
        End If
    ElseIf BusSelect.BusOption5.Value = True Then
        cmd.CommandText = "select * from SiteName where BusName=? order by BusNameID ASC"
        
        '设置para相关属性
        para.Type = adBSTR
        para.Direction = adParamInput
        para.Value = BusSelect.BusTxt1.Text

        '把para添加到参数集
        cmd.Parameters.Append para
        cmd.Parameters(0) = BusSelect.BusTxt1.Text

        '执行command对象
        Set rs = cmd.Execute
        If Not rs.EOF Then
            n = rs.RecordCount
            ReDim bussite(n, 3)
            BusSelect.BusList1.AddItem "请点击列表框项查看相关信息"
            BusSelect.BusList1.AddItem "第" & BusSelect.BusTxt1.Text & "车"
            bussite(0, 0) = Trim(BusSelect.BusTxt1.Text)
            For i = 1 To rs.RecordCount
                If i = 1 Then
                    bussite(i, 0) = rs("SiteName").Value
                    bussite(i, 1) = rs("SiteX").Value
                    bussite(i, 2) = rs("SiteY").Value
                    BusSelect.BusList1.AddItem "始    点:" & rs("SiteName").Value
                ElseIf i = rs.RecordCount Then
                    bussite(i, 0) = rs("SiteName").Value
                    bussite(i, 1) = rs("SiteX").Value
                    bussite(i, 2) = rs("SiteY").Value
                    BusSelect.BusList1.AddItem "终    点:" & rs("SiteName").Value
                ElseIf i < 10 Then
                    bussite(i, 0) = rs("SiteName").Value
                    bussite(i, 1) = rs("SiteX").Value
                    bussite(i, 2) = rs("SiteY").Value
                    BusSelect.BusList1.AddItem "第0" & i & "站点:" & rs("SiteName").Value
                Else
                    bussite(i, 0) = rs("SiteName").Value
                    bussite(i, 1) = rs("SiteX").Value
                    bussite(i, 2) = rs("SiteY").Value
                    BusSelect.BusList1.AddItem "第" & i & "站点:" & rs("SiteName").Value
                End If
                rs.MoveNext
            Next
            rs.Close
        Else
            MsgBox "没有第" & BusSelect.BusTxt1.Text & "车的相关信息,请您确认是模糊查询还是精确查询", 48, "提示信息"
            BusSelect.BusTxt1.SelStart = 0
            BusSelect.BusTxt1.SelLength = Len(BusSelect.BusTxt1.Text)
            BusSelect.BusTxt1.SetFocus
        End If
    End If
End Sub

Public Sub selectbestbusline() '最优线路查询
    Dim passsitecount() As Integer
    Dim min As Integer
    Dim m As Integer
    min = -1
    m = -1
    BusSelect.BusList1.Clear
    Call connetion
    If BusSelect.BusOption4.Value = True Then
        cmd.CommandText = "select * from SiteName where SiteName like ? order by BusNameID ASC"
        
        '设置para相关属性
        para.Type = adBSTR
        para.Direction = adParamInput
        para.Value = BusSelect.BusTxt1.Text

        '把para添加到参数集
        cmd.Parameters.Append para
        cmd.Parameters(0) = BusSelect.BusTxt1.Text

        '执行command对象
        Set rs = cmd.Execute
        If Not rs.EOF Then
            n = rs.RecordCount
            ReDim bussite(n, 1)
            BusSelect.BusList1.AddItem "请点击列表框项查看相关信息"
            For i = 0 To rs.RecordCount - 1
                bussite(i, 0) = rs("BusName").Value
                rs.MoveNext
            Next
            rs.Close
            ReDim passsitecount(n)
            For i = 0 To n - 1
                Call connetion
                cmd.CommandText = "select * from SiteName where BusName=? order by BusNameID ASC"
            
                '设置para相关属性
                para.Type = adBSTR
                para.Direction = adParamInput
                para.Value = bussite(i, 0)

                '把para添加到参数集
                cmd.Parameters.Append para
                cmd.Parameters(0) = bussite(i, 0)

                '执行command对象
                Set rs = cmd.Execute
                Do While Not rs.EOF
                    If rs("SiteName").Value = Trim(BusSelect.BusTxt1.Text) Then
                        m = 1
                    ElseIf rs("SiteName").Value = Trim(BusSelect.BusTxt2.Text) Then
                        Exit Do
                    Else
                        m = m + 1
                    End If
                    rs.MoveNext
                Loop
                passsitecount(i) = m
                rs.Close
            Next
            For i = 0 To n - 1
                If passsitecount(i) <> -1 Then
                    min = passsitecount(i)
                    m = i
                End If
            Next
            For i = m To n - 1
                If passsitecount(i) <> -1 And passsitecount(i) < min Then
                    min = passsitecount(i)
                    m = i
                End If
            Next
            If min <> -1 Then
                BusSelect.BusList1.AddItem "都经过两个站点的公交车有:"
                For i = 0 To n - 1
                    If passsitecount(i) <> -1 Then
                        BusSelect.BusList1.AddItem "第" & bussite(i, 0) & "公交车"
                    End If
                Next
                BusSelect.BusList1.AddItem "最优路线是第" & bussite(m, 0) & "公交车"
            Else
                BusSelect.BusList1.AddItem "没有公交车同时经过这两个站点"
            End If
            
        Else
            MsgBox "没有" & BusSelect.BusTxt1.Text & "和" & BusSelect.BusTxt2.Text & "站点的相关信息,请您确认是模糊查询还是精确查询", 48, "提示信息"
            BusSelect.BusTxt1.SelStart = 0
            BusSelect.BusTxt1.SelLength = Len(BusSelect.BusTxt1.Text)
            BusSelect.BusTxt1.SetFocus
        End If
    ElseIf BusSelect.BusOption5.Value = True Then
        cmd.CommandText = "select * from SiteName where SiteName =? order by BusNameID ASC"
        
        '设置para相关属性
        para.Type = adBSTR
        para.Direction = adParamInput
        para.Value = BusSelect.BusTxt1.Text

        '把para添加到参数集
        cmd.Parameters.Append para
        cmd.Parameters(0) = BusSelect.BusTxt1.Text

        '执行command对象
        Set rs = cmd.Execute
        If Not rs.EOF Then
            n = rs.RecordCount
            ReDim bussite(n, 1)
            BusSelect.BusList1.AddItem "请点击列表框项查看相关信息"
            For i = 0 To rs.RecordCount - 1
                bussite(i, 0) = rs("BusName").Value
                rs.MoveNext

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -