<style type="text/css">
<!--
.STYLE1 {
font-size: medium;
font-weight: bold;
}
.STYLE3 {color: #339966}
.STYLE5 {
color: #0000FF;
font-family: "幼圆";
}
.STYLE6 {
color: #990033;
font-weight: bold;
font-style: italic;
}
-->
</style>
<br>
<br>
<div align="center"><span class="STYLE1"><blink><span class="STYLE5">合同查询页面</span></blink></span></div>
<br>
<br>
<br>
<br>
<table>
<form action="checkcontra.jsp" method=get name="form1">
<tr>
<td>
<b><span class="STYLE3">协议号</span>:</b>   </td>       
  <td><select name="agreeno" size=1  >
      <option value="" selected></option>
    <%
//打开数据库读出协议号
ResultSet rs=stmt.executeQuery("select DISTINCT Agreeno from Contract_Tab order by Agreeno"); 
while(rs.next())
{
%>
    <option value="<%=rs.getString("AgreeNo")%>" selected><%=rs.getString("AgreeNo")%></option>
    <%
}
%>
    </select>     <span class="STYLE6">and</span></td></tr><tr><td><b><span class="STYLE3">飞机型号</span>:</b>       </td>
<td><select name="planetype" size=1  >
    <option value="" selected></option>
<%
//打开数据库读出协议号
ResultSet rs1=stmt.executeQuery("select DISTINCT PlaneType from Contract_Tab order by PlaneType"); 
while(rs1.next())
{
%>
    <option value="<%=rs1.getString("PlaneType")%>" selected><%=rs1.getString("PlaneType")%></option>
    <%
}
%>
            </select>  <span class="STYLE6">and </span></td>
</tr>

<tr><td><b><span class="STYLE3">飞机型号</span>:</b>
<td><select name="company" size=1  >
    <option value="" selected></option>
<%
//打开数据库读出协议号
ResultSet rs3=stmt.executeQuery("select DISTINCT Company from Contract_Tab order by Company"); 
while(rs3.next())
{
%>
    <option><%=rs3.getString("Company")%></option>
    <%
}
%>
            </select>   </td></tr><td>
<input type="submit" name="submit" value="查询"></td>
</form>
</tr>
</table>
************************************************************
以上是我的查询界面,有情趣的话可以用dreamweaver看看,不知道怎么实现。因为查询情况太多,希望大家帮帮忙
一定散分

解决方案 »

  1.   

    sql语句拼接啦,不过不清楚你需要查哪个表,关系字段是什么select a.x, b.y, c.z from a,b,c where  a.x=b.x and c.z=b.z 之类的语句应该就可以了啊
      

  2.   

    问题就是:我不是有三个select选择框么,分别是协议号,飞机型号,公司名称,通过这三个字段的选择,查到满足条件的合同
       
      我想通过and查询,通过三个条件查询,三个选择框默认值为空  这样一共有很多种查询情况,比较复杂,因此我不知道怎么不表达  郁闷,不知道大家有没有懂我的意思
      

  3.   


    String noContract = request.getParameter("协议号");
    String noPlane = request.getParameter("飞机型号");
    String noCompany = request.getParameter("公司名称");StringBuffer sqlTmp = new StringBuffer();
    sqlTmp.append("select col_1,col_2,...,col_n from tableName where 1=1");
    if(noContract != null && !noContract.equals("")){
      sqlTmp.append(" and 协议号='");
      sqlTmp.append(noContract);
      sqlTmp.append("'");
    }
    if(noPlane != null && !noPlane.equals("")){
      sqlTmp.append(" and 飞机型号='");
      sqlTmp.append(noPlane);
      sqlTmp.append("'");
    }
    if(noCompany != null && !noCompany.equals("")){
      sqlTmp.append(" and 公司名称='");
      sqlTmp.append(noCompany);
      sqlTmp.append("'");
    }String sql = sqlTmp.toString();
      

  4.   

    你提交后,可以通过String a=request.getParameter("XXX")来获得值,就是选种的值,
    sql=select * from table where fieldname like '%a% 'and fieldname like '%b%'
    当为空时就不限定条件
      

  5.   

    你可以不用写java代码实现多项查询,网站上有实例演示,而且讲得非常细。
    newxy技术范例:http://www.newxy.net/zh_cn/samples/index.jsp
    newxy技术网站:http://www.newxy.net
    newxy技术文档:http://www.newxy.net/doc.htm
      

  6.   

    通过不同选择,设置不同的WHERE语句,emin_lee()的方法应该可参考的!
      

  7.   

    非常感谢大家,感谢emin_lee() 请问,为什么我不用rs1,rs2,rs3而只用一个rs就会报错?改成<%sql="select DISTINCT PlaneType from Contract_Tab order by PlaneType"; 
    rs=stmt.executeQuery(sql);  也不行一定要设三个么?rs1,rs2,rs3                   还有如果我不rs.close();有什么影响么?谢谢大家~~  回答完就结贴
      

  8.   

    SQL语句拼接就行了  根据三个select选择框的值来拼接一条SQL