而是需要輸入條件後按確定才執行?
---------------------------------------------
简单的做法按确定的时候,做个提交操作,把一个表示提交的标示域传过去if(request.getParameter("你自己定义的标志域")!=null){
   //这里执行你的sql}

解决方案 »

  1.   

    <form name="form1" method="post" action="">
      <select name="Projectname">
        <option selected></option>
             <option>WH</option>
             <option>RD</option>
             <option>LA</option>
             <option>MM</option>
             <option>SG</option>
             <option>FG</option>
             <option>CLA</option>
             <option>IOG</option>
             <option>JG</option>
             <option>MC</option>
             <option>MC3</option>
             <option>EDM</option>
             <option>WE</option>
             <option>MM2</option>
             <option>MF</option>
             <option>HT</option>  
     </select>
      <input type="text" name="GuanLiNo">
      <input type="text" name="PartNo">
      <input type="submit" name="Submit" value="確認">
    </form>
    我就是要做了輸入這3個條件的組合才執行。但是現在它初始化後就執行了sql
      

  2.   

    你的条件是不是没有加载的sql查询的where条件里面去啊?
    确认一下你通过下面的语句:
    String GuanLiNo = (String)request.getParameter("GuanLiNo");
    String Projectname = (String)request.getParameter("Projectname");
    String PartNo = (String)request.getParameter("PartNo");
    而取得的GuanLiNo ,Projectname ,PartNo 的值不是null.
      

  3.   

    你好謝謝你的答復。你的条件是不是没有加载的sql查询的where条件里面去啊?
    确认一下你通过下面的语句:
    String GuanLiNo = (String)request.getParameter("GuanLiNo");
    String Projectname = (String)request.getParameter("Projectname");
    String PartNo = (String)request.getParameter("PartNo");
    而取得的GuanLiNo ,Projectname ,PartNo 的值不是null.我用out.print(sql)可以看到已經是把條件加載到where裡面去了.
    eg:select Top 50 * from PartPress where 1=1 and PartNo='EA' 
    現在就是初始化頁面的時候就會執行 select Top 50 * from PartPress where 1=1
    而我不讓它一開始就運行。不知道怎麼辦?還請指教。
      

  4.   

    String eventName = FormUtility.getParameter(request,"eventName","");if (!StrUtils.isNull(eventName)){  if(eventName.equals("1"))
       {
        ResultSet rs = jb.query(sql);
       }} <%--点确定触发的js程序--%>
    function comfirm(){
          document.frm.eventName.value = '1';
          document.frm.submit();

    }<input type="hidden" name="eventName" value="<%=eventName%>"> 
    通过js来控制你确定后才执行你的查询,你可以试试我这种方法,应该没问题
      

  5.   

    设置一个隐藏对象<input id=h_value type="hidden" value="">
    在下拉框里加上onchange事件,当选择时触发
    function clic(){
    document.getElementById("h_value").value="1";
    }在jsp里加入:
    if("".equals(session.getAtrribute("h_value"))){
    //不执行sql
    }这种用ajax比较好,数据传送量不是太大
      

  6.   

    其实你是应该把数据库查询放到另外一个jsp里面,入query.jsp
    在你的输入页面输入值,提交查询然后把参数值传到query.jsp,执行查询.然后再把结果放到你的结果页面
      

  7.   

    如果是你说的那样的条件,感觉把执行sql语句的查询放到另一个页面,就像楼上说的那样