Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当年度发生变化时,开始日期和结束日期不起作用_Javascript_Java_Sql_Jsp_Date - Fatal编程技术网

Javascript 当年度发生变化时,开始日期和结束日期不起作用

Javascript 当年度发生变化时,开始日期和结束日期不起作用,javascript,java,sql,jsp,date,Javascript,Java,Sql,Jsp,Date,我使用了一个日期选择器来选择开始日期和结束日期,如下所示 <link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css"> <script src="//code.jquery.com/jquery-1.10.2.js"></script> <script src="//code.jqu

我使用了一个日期选择器来选择开始日期和结束日期,如下所示

       <link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
          <script src="//code.jquery.com/jquery-1.10.2.js"></script>
          <script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
          <link rel="stylesheet" href="/resources/demos/style.css">
          <script type="text/javascript">
          $(function () {
                $( "#startDate" ).datepicker({
                      changeMonth: true,
                      changeYear: true,
                      dateFormat: 'dd-mm-yy'
                    });

                $( "#endDate" ).datepicker({
                      changeMonth: true,
                      changeYear: true,
                      dateFormat: 'dd-mm-yy'
                    });
            });
          </script>
         <style type="text/css">
                .search_textbx
        {
         background-image:url('/SalesPropeller/calendar.jpg');
            background-repeat:no-repeat;
           background-position:right;  

        }
                </style>
    <form name="form" action="quotationSearchResult.jsp" method="post">
     <input type="text" id="startDate" name="startDate" class="search_textbx" readonly="readonly" placeholder="&nbsp &nbsp dd-mm-yyyy"/> 
      <input type="text" id="endDate" name="endDate" class="search_textbx" readonly="readonly" placeholder="&nbsp &nbsp dd-mm-yyyy"/></td>
</form>

$(函数(){
$(“#开始日期”)。日期选择器({
变化月:对,
变化年:是的,
日期格式:“dd-mm-yy”
});
$(“#endDate”).datepicker({
变化月:对,
变化年:是的,
日期格式:“dd-mm-yy”
});
});
.search_textbx
{
背景图像:url('/salesspiller/calendar.jpg');
背景重复:无重复;
背景位置:右;
}
quotationSearchResult.jsp

<div id="divRight">
                &nbsp;
                <%
                    int count = 0;
                    int SlNo=1;
                %>
                <hr />
                <h3>Search Result for <u><%= request.getParameter("companyName")%></u> is : </h3>
                <hr/>
                <div id="divtable_wrapper">
                    <div id="divtbody" style="height: 470px;">
                        <form method="post" name="form">
                            <table class="divtable" width="1140">
                                <div id="divheader">
                                    <thead>
                                        <tr>
                                            <th style="padding:1px 5px;border-right:1px solid #d47f66;border-bottom:1px solid #d47f66;background: beige;">Sl.NO</th>
                                            <th style="padding:1px 5px;border-right:1px solid #d47f66;border-bottom:1px solid #d47f66;background: beige;">CompanyName</th>
                                            <th style="padding:1px 5px;border-right:1px solid #d47f66;border-bottom:1px solid #d47f66;background: beige;">RefNo</th>
                                            <th style="padding:1px 5px;border-right:1px solid #d47f66;border-bottom:1px solid #d47f66;background: beige;">Quot.Date</th>
                                            <th style="padding:1px 5px;border-right:1px solid #d47f66;border-bottom:1px solid #d47f66;background: beige;">UserName</th>
                                            <th style="padding:1px 5px;border-right:1px solid #d47f66;border-bottom:1px solid #d47f66;background: beige;">Grand Total</th>

                                            <th style="padding:1px 5px;border-right:1px solid #d47f66;border-bottom:1px solid #d47f66;background: beige;">CST</th>
                                            <th style="padding:1px 5px;border-right:1px solid #d47f66;border-bottom:1px solid #d47f66;background: beige;">VAT5.5</th>
                                            <th style="padding:1px 5px;border-right:1px solid #d47f66;border-bottom:1px solid #d47f66;background: beige;">VAT14.5</th>
                                            <th style="padding:1px 5px;border-right:1px solid #d47f66;border-bottom:1px solid #d47f66;background: beige;">ServiceTax</th>


                                            <th colspan="1" style="padding:1px 5px;border-right:1px solid #d47f66;border-bottom:1px solid #d47f66;background: beige;">Action</th>
                                        </tr>
                                    </thead>
                                </div>

                                <%
                                    //Connection con = null;
                                    Object o2 = session.getAttribute("email");
                                    String email = o2.toString();
                                    String companyName = request.getParameter("companyName");
                                    String startDate=request.getParameter("startDate");

                                    String endDate=request.getParameter("endDate");
                                    int cId=0;
                                    //Statement st, st1;
                                    try {
                                        DBConnect db = new DBConnect();
                                        Connection con = db.getCon();

                                        Statement st = con.createStatement();
                                       // System.out.println("At SearchResult.jsp:" + email + "," + category + "," + search + "," + search_tf);
                                        ResultSet rs = st.executeQuery("Select CId,CompanyName,RefNo,Date,UserName,GrandTotal,CST,VAT5,VAT14,ServiceTax from marketing_database.quotationclient_details where companyName='"+companyName+"' AND Date BETWEEN '"+startDate+"' AND '"+endDate+"';");
                                       // String q2 = "update dummy set category='" + category + "' where id = '1';";
                                      //  st1.executeUpdate(q2);                    // To insert the category name to dummy table in database
%>

                                <%
                                    while (rs.next()) {
                                %>
                                <tr><td style="padding:1px 5px;border-right:1px solid #d47f66;border-bottom:1px solid #d47f66;" class="td1"><%=SlNo%></td>
                                    <td style="padding:1px 5px;border-right:1px solid #d47f66;border-bottom:1px solid #d47f66;" class="td2"><%=rs.getString(2)%></td>
                                    <td style="padding:1px 5px;border-right:1px solid #d47f66;border-bottom:1px solid #d47f66;" class="td3"><%=rs.getString(3)%></td>
                                    <td style="padding:1px 5px;border-right:1px solid #d47f66;border-bottom:1px solid #d47f66;" class="td4"><%=rs.getString(4)%></td>
                                    <td style="padding:1px 5px;border-right:1px solid #d47f66;border-bottom:1px solid #d47f66;" class="td5"><%=rs.getString(5)%></td>
                                    <td style="padding:1px 5px;border-right:1px solid #d47f66;border-bottom:1px solid #d47f66;" class="td6"><%=rs.getString(6)%></td>
                                    <td style="padding:1px 5px;border-right:1px solid #d47f66;border-bottom:1px solid #d47f66;" class="td7"><%=rs.getString(7)%></td>
                                    <td style="padding:1px 5px;border-right:1px solid #d47f66;border-bottom:1px solid #d47f66;" class="td8"><%=rs.getString(8)%></td>
                                    <td style="padding:1px 5px;border-right:1px solid #d47f66;border-bottom:1px solid #d47f66;" class="td9"><%=rs.getString(9)%></td>
                                    <td style="padding:1px 5px;border-right:1px solid #d47f66;border-bottom:1px solid #d47f66;" class="td10"><%=rs.getString(10)%></td>


                                    <td style="padding:1px 5px;border-bottom:1px solid #d47f66;" class="td12"><input type="button" name="edit" value="Report" style="background-color:#49743D;font-weight:bold;color:#ffffff;" onclick="generateReport(<%= rs.getString(1)%>);" ></td>

                                        <% count++;
                                        SlNo++;%>
                                </tr>
                                <%
                                    }
                                %>
                                <%
                                    } catch (Exception e) {
                                        e.printStackTrace();
                                    }
                                %>
                            </table>
                        </form>
                        <br>
                        <span style="float: left;"> &nbsp;<b><%= count%></b> Search Result Found.</span>
                <br><br>
                </div>
                </div>
                 </div>


搜索结果为:
序号 公司名称 参考号 报价日期 用户名 总计 CST VAT5.5 第14.5条 服务税 行动
找到搜索结果。

当我给出起始日期为“01-01-2016”和结束日期为“31-01-2016”时,它正在获取如图所示的记录 但当我将起始日期指定为“07-12-2015”,将结束日期指定为“18-01-2016”时,它并没有获取如图所示的记录

那么发生了什么,为什么不能正确地比较年份呢?我也是sql数据库
问题在于“Date”列是一个
varchar
,数据库中正确的格式是
Date
,而且“Date”不是一个好的列名称,因为它也是一个MySQL函数

由于保存的日期格式
String
不是可排序的格式,因此将日期排序为String的示例如下:

  • 07-01-2016

  • 07-12-2015

  • 18-01-2016

  • 2016年1月7日在2015年12月7日至2016年1月18日之间为

    最好的解决方案是将列格式转换为数据库中正确的日期格式

    如果这是不可能的,请快速修复

    我们需要将字符串列转换为日期,并将搜索字符串的正确格式设置为mysql语法

    //convert search string to mysql format (note you can define variables for faster code and you should consider handling exceptions)
    startDate = new SimpleDateFormat("yyyy-mm-dd").format(new SimpleDateFormat("dd/mm/yyyy").parse(startDate));
    endDate = new SimpleDateFormat("yyyy-mm-dd").format(new SimpleDateFormat("dd/mm/yyyy").parse(endDate));
    
    //syntax for query
    ... AND STR_TO_DATE(`Date`, '%d/%m/%Y') BETWEEN '"+startDate+"' AND '"+endDate+"';"
    
    有关更多信息,请参阅

    您还应该考虑使用以避免SQL注入问题。


    调试它,确定问题所在。字符串值是否正确
    String startDate=request.getParameter(“startDate”)?可能您在2015年12月7日到2016年1月18日之间没有记录发送请求时,请查看开发人员工具中的post数据,并确定发送的是什么。您可以尝试
    2015年12月7日
    2016年1月31日
    ?是的,我尝试了您所说的,但无法获取记录为什么是“标准日期”和“开始日期”给出的名称。它们应该相同或不同??事实上,我没有应用“开始日期”和“结束日期”的代码,因此某些日期不匹配。稍后当我仔细阅读您的答案时,我了解到这些行可以改变场景,确实如此。再次感谢