zoukankan      html  css  js  c++  java
  • 客车网上售票系统(分解二)

    1、今日完成任务:

    (1)跳转到显示票务信息页面时修改数据库中车次的状态,当现在时间大于车次发车时间则将车次状态设置为已发车

    (2)显示未发车车次信息

    (3)复合查询

    2、核心源码:

    (1)页面效果

    (2)前台代码

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8" />
        <meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge" />
        <link href="../css/reset.css" rel="stylesheet" />
        <link href="../css/iconfont.css" rel="stylesheet" />
        <link href="../css/aa.css" rel="stylesheet" />
        <script src="../js/jquery-1.9.1.min.js"></script>
        <script src="../js/f.js"></script>
        <script src="../js/laydate/laydate.js"></script>
        <script>
            //执行一个laydate实例
            laydate.render({
              elem: '#test1' //指定元素
            });
         </script>
        <style type="text/css">
            .icon-weibiaoti1:before {
              content: "e695";
            }
            .icon-xinxiliulan:before {
              content: "e614";
            }
            #test1{clear:both;border:1px solid #ccc;height:25px;position:relative; left:50px;bottom:20px;}
            .InputDiv{border:none;}
            #txtCfd,#txtMdd{border:1px solid #ccc;height:25px;}
            #btnSelect{color:#fff;}
            .auto-style1 {
                background: #fff;
                margin-left: 40px;
            }
            .headboxtext{
                height:30px;
                line-height:30px;
            }
            #GridView1{
                text-align:center;
            }
        </style>
        <title>产品管理</title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div class="PublicHead clearfix">
            <div class="leftBox clearfix">
                <!--<div class="companyLogo">
                    <img src="images/logo.jpg" />
                </div>-->
                <!--<i class="iconfont icon-caidan"></i>-->
    
                <div class="companyText">
                   客车网上售票系统
                </div>
            </div>
            <div class="RightBox clearfix">
                <div class="UserPhotoBox">
                    <div class="UserPic">
                        <img src="../Images/user.jpg"/>
                    </div>
                    <div class="UserName">
                        用户
                    </div>
                </div>
                <a href="Login.aspx">
                    <div class="dropOutBox">
                        <i class="iconfont icon-app_icons--">
                        </i>
                        <span>退出</span>
                    </div>
                </a>
            </div>
        </div>
    
        <div class="PublicDownWhole clearfix">
            <!--左侧-->
            <div class="leftBox">
                <ul>
                    <a href="UserManagement.html"> <li class=""><i class="iconfont icon-yonghuguanli"></i><span>用户管理</span></li></a>
                    <a href="SelectTicket.aspx">
                        <li class="Select"><i class="iconfont icon-tubiao_dingdan"></i><span>票务查询</span></li>
                    </a>
                    <a href="ClassificationManagement.html">
                        <li><i class="iconfont icon-fenlei"></i><span>我的订单</span></li>
                    </a>
                    <a href="ProductManagement.html">      <li><i class="iconfont icon-weibiaoti1"></i><span>留言板</span></li></a>
                     <a href="ProductManagement.html">      <li><i class="iconfont icon-xinxiliulan"></i><span>信息浏览</span></li></a>
                </ul>
            </div>
            <!--右侧-->
            <div class="RightBox">
                <div class="PublicContentBox">
                    <!--公用指向页面名字-->
                    <div class="PublicPointToAgeText">
                        <span class="span1">客车网上售票系统  </span> <span class="span2">票务查询</span>
                    </div>
                    <!--查询-->
                    <div class="InquireBox clearfix">
                        <div class="InquireleftBox">
                            <div class="Text">出发地:</div>
                            <div class="InputDiv"> <asp:TextBox ID="txtCfd" runat="server"></asp:TextBox></div>
                        </div>
                         <div class="InquireleftBox">
                            <div class="Text">目的地:</div>
                            <div class="InputDiv"> <asp:TextBox ID="txtMdd" runat="server"></asp:TextBox></div>
                        </div>
                       <div class="InquireleftBox" >
                             <div class="layui-inline">
                              <label class="layui-form-label">日期:</label>
                              <div class="layui-input-inline">
                                <asp:textBox  runat="server" class="layui-input" id="test1"></asp:textBox>
                              </div>
                            </div>                        
                        </div>
                        <div class="PublicBtnIcon Color1Btn fr">
                            <i class="iconfont icon-icon-chaxun"></i>
                            <%--<span>查询</span>--%>
                            <asp:Button ID="btnSelect" runat="server" Text="查询" OnClick="btnSelect_Click" style=" 38px" />
                        </div>
                    </div>
                    <!--表修改-->
                    <div class="auto-style1" style="margin-left:0px; height:700px;">
                        <div class="headbox">
                            <div class="headboxtext">
                                <%--<span class="span1">车票查询</span>--%>
                                <asp:Label ID="lblSelect" runat="server" Text="车票查询"></asp:Label>
                            </div>
                        </div>
    
                        <!--查询到的表格-->
                        <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" BackColor="#DEBA84" BorderColor="#DEBA84" BorderStyle="None" BorderWidth="1px" CellPadding="3" CellSpacing="2" Height="293px" Width="826px" Font-Size="Medium" PageSize="5" DataKeyNames="Cid">
                            <Columns>
                                <asp:BoundField DataField="Tname" HeaderText="车次" />
                                <asp:BoundField DataField="Begin_sta" HeaderText="出发站" />
                                <asp:BoundField DataField="End_sta" HeaderText="到达站" />
                                <asp:BoundField DataField="Start_time" HeaderText="出发时间" />
                                <asp:BoundField DataField="End_time" HeaderText="到站时间" />
                                <asp:BoundField DataField="Price" HeaderText="价格" />
                                <asp:TemplateField  HeaderText="备注">
                                    <ItemTemplate>
                                         <asp:LinkButton ID="LinkButton2" runat="server" PostBackUrl='<%# Eval("Cid", "~/Member/bookTicket.aspx?Cid={0}") %>'>预订</asp:LinkButton>
                                    </ItemTemplate>
                                </asp:TemplateField>
                            </Columns>
                            <FooterStyle BackColor="#F7DFB5" ForeColor="#8C4510" />
                            <HeaderStyle BackColor="#A55129" Font-Bold="True" ForeColor="White" />
                            <PagerStyle ForeColor="#8C4510" HorizontalAlign="Center" />
                            <RowStyle BackColor="#FFF7E7" ForeColor="#8C4510" />
                            <SelectedRowStyle BackColor="#738A9C" Font-Bold="True" ForeColor="White" />
                            <SortedAscendingCellStyle BackColor="#FFF1D4" />
                            <SortedAscendingHeaderStyle BackColor="#B95C30" />
                            <SortedDescendingCellStyle BackColor="#F1E5CE" />
                            <SortedDescendingHeaderStyle BackColor="#93451F" />
                        </asp:GridView>                  
                        </div>
                    </div>
                </div>
                    </div>
            </form>
    </body>
    </html>

    (3)根据现在当前时间修改数据库中车次状态

     protected void Update()
            {
                //获取当前日期
                DateTime date = Convert.ToDateTime(DateTime.Now.ToShortDateString());
                //获取当前时间
                DateTime time = Convert.ToDateTime(DateTime.Now.ToShortTimeString().ToString());
                DataSet ds = bll.GetData();
                Carinfo carinfo = new Carinfo();
                foreach (DataRow r in ds.Tables[0].Rows)
                {
                    carinfo.Cid = Convert.ToInt32(r["Cid"]);
                    carinfo.Start_date =r["Start_date"].ToString();
                    carinfo.Start_time = r["Start_time"].ToString();
                    //强制转换
                    DateTime date2 = Convert.ToDateTime(carinfo.Start_date);
                    DateTime time2 = Convert.ToDateTime(carinfo.Start_time);
                    //比较
                    if (DateTime.Compare(date, date2) > 0)
                    {
                        //当前日期大于发车日期  已发车
                        bll.UpdateCmark(carinfo.Cid);
                    }
                    else if (DateTime.Compare(date, date2) == 0)
                    {
                        if (DateTime.Compare(time, time2) > 0)
                        {
                            bll.UpdateCmark(carinfo.Cid);
                        }
                    }
                }
            }
    DAL层:
         public void UpdateCmark(int cid)
            {
                string sql = $"update Carinfo set Cmark=1 where Cid={cid}";
                int num=dbHelper.ExecuteNonQuery(sql);
            }

    (4)显示未发车车次信息(后台代码)

      protected void BindGv()
            {
                this.GridView1.DataSource = bll.GetData();
                this.GridView1.DataBind();
            }
    DAL层:
     public  DataSet GetData()
            {
                string sql = "select * from Traininfo inner join Carinfo on Traininfo.Tid=Carinfo.Tid where Cmark=0";
                DataSet ds = dbHelper.GetData(sql);
                return ds;
            }

    (4)根据用户的需求进行复合查询(后台代码)

      /// <summary>
            /// 查询
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            protected void btnSelect_Click(object sender, EventArgs e)
            {
                
                //从前台获取数据
                //出发地
                string cfd = this.txtCfd.Text;
                //目的地
                string mdd = this.txtMdd.Text;
                string date = DateTime.MinValue.ToString();
                if (this.test1.Text!="")
                {
                    //出发日期
                   date =this.test1.Text;
                }
               
                this.GridView1.DataSource = bll.GetDataByInfo(cfd, mdd, date);
                this.GridView1.DataBind();
            }
    DAL层:
      public DataSet GetDataByInfo(string beginSta,string endSta,string date)
            {
                string sql = $"select * from Traininfo inner join Carinfo on Traininfo.Tid=Carinfo.Tid where Cmark=0 and 1=1 ";
                if (beginSta!="")
                {
                    sql += $"and Begin_sta ='{beginSta}'";
                }
                if (endSta!="")
                {
                    sql += $"and End_sta='{endSta}'";
                }
                if (date!=DateTime.MinValue.ToString())
                {
                    sql += $"and Start_date='{date}'";
                }
                DataSet ds = dbHelper.GetData(sql);
                return ds;
            }

    3、遇到的问题:
    (1)在最初写的时候没有注意修改车次状态的情况
    (2)datetime类型的字段从前台获取到的数据形式和数据库中的形式不一样

    4、解决的方法:
    (1)在写后边代码时发现问题并解决

    (2)网上百度查找解决方案

  • 相关阅读:
    测试开发面试集锦_数据库
    测试开发面试集锦_linux
    测试开发面试题集锦_java
    Java中equals 和==的区别
    定时清理文件shell脚本
    java文件上传,upload使用
    python 获取错误日志,并发送邮件
    c语言代码审计规范
    渗透测试之nmap
    渗透测试之GoogleHack
  • 原文地址:https://www.cnblogs.com/hpjy/p/13371541.html
Copyright © 2011-2022 走看看