一:
search.jsp
<%@ page language="java" import="java.util.*,java.sql.*"  pageEncoding="gbk"%>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK" />
<title>无标题文档</title>
</head>
<body>
 <form id="form2" name="form2" method="post" action="adcheck.jsp">
          <table width="76%" height="514" border="0" align="center">
            <tr>
              <td width="553" height="508">
      <%
    
    Connection con;
    Statement smt=null; 
    ResultSet rs=null;
    try{  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
       }
    catch(ClassNotFoundException e)
       {  out.print(e);
       }
    try { con=DriverManager.getConnection("jdbc:odbc:huojiang","",""); //注意数据源的名称,用户名和密码,ODBC连接
          smt=con.createStatement();
    }
   catch(SQLException e) 
     {  out.print(e);
     }
%>
             
<table width="100%" border="1" align="center" cellpadding="0" cellspacing="0" bordercolor="#999999" >
<tbody>
<tr bgcolor="#CCCCCC">
 <td colspan="7" align="center" bgcolor="#FFFFFF"><font size="3" color="#ffffff"><b><font color="#000000">大学生获奖信息管理平台</font></b></font></td>
</tr>
<tr align="center">
<td colspan="7"><a href="add.jsp">发布信息</a> <a href="javascript:this.location.reload()">刷新</a> &nbsp; <a href="index.jsp">首页</a>
<div align="right"></div></td>
</tr>
<tr>
<td width="14%">竞赛项目</td>
<td width="14%">时间</td>
<td width="11%">获奖等级</td>
<td width="13%">获奖人</td>
<td width="12%">指导教师</td>
<td width="12%" height="20">备注</td>
<td width="24%" align="center">&nbsp;</td>
</tr>
 <% 
   //在这里测试为空
   String s1=request.getParameter("keyword");
   String   s=request.getParameter( "style"); 
  
   
   String sql=null;
   if(s=="竞赛项目"){ 
            
                    sql= "select   *   from   shijian   where   竞赛项目   =   ' "+s1+ " ' "  ; 
                    System.out.println(s1+s);
  } 
            else{ 
            }
            
    rs = smt.executeQuery(sql);
while(rs.next()) 
{
       int a=rs.getInt("ID");         //在access中rs.getString("字段名")不能多次被使用
%>
                   <tr>
                      <td><div align="left"><span class="text">●</span><a href="edit.jsp?ID=<%=a%>"><%=rs.getString("竞赛项目")%></a></div></td>
                      <td><%=rs.getString("时间")%></td>
                      <td><%=rs.getString("获奖等级")%></td>
                      <td><%=rs.getString("获奖人")%></td>
                      <td><%=rs.getString("指导教师")%></td>
                      <td height="46"><%=rs.getString("备注")%></td>
                      <td><a href="edit.jsp?ID=<%=a%>">修改信息</a>&nbsp;&nbsp;<a href="del.jsp?ID=<%=a%>">删除信息</a></td>
                    </tr>
                    <%}%>
                  </tbody>
                </table>
              <p align="center">&nbsp;</p></td>
            </tr>
</table>
                </form>
       
      </td>
    </tr>
  </table>
</div>
</body>
</html>
它的前一页主干部分
<form action="search.jsp" method="post" enctype="multipart/form-data" name="form1" id="form1">
        <table width="76%" height="114" border="1" align="center" cellspacing="0" bordercolor="#CCCCCC" bgcolor="#FFFFFF">
          <!--DWLayoutTable-->
          <tr>
            <td width="629" height="112" valign="top"><span class="STYLE6">
              </span><span class="STYLE6">
                <label>              </label>
                </span>
              <label><div align="left"><span class="STYLE6">
                </span>
                <div align="center">
                  <div align="left"></div>
                  <div align="left"><span class="STYLE6">查询类别</span><span class="STYLE6">
                    <select name="style">
                      <option value="竞赛项目">竞赛项目</option>
                      <option value="时间">时间</option>
                      <option value="获奖等级">获奖等级</option>
                      <option value="获奖人">获奖人</option>
                      <option value="指导教师">指导老师</option>
                      <option value="备注">备注</option>
                      </select>
                    </span><br />
                    <br/>
                    <br/>
                    </div>
                  </div>
                </div>
              </label>
              <span class="STYLE6"></span><span class="STYLE6">              </span>
              <label class="STYLE6"> 
              <div align="left">关键字
                <input type="text" name="keyword" />  
                <input type="submit" name="Submit" value="查询" />
                <a href="show.jsp">全部查询</a></div>
              </label>
              <label></label></td>
          </tr>
          </table>
      <div align="center"></div>
            <label></label>
      </form>
二:我在修改数据库内容时出现 java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] 参数不足,期待是 4。
大家帮帮忙吧 我的分数也不多 辛苦大家了!谢谢啦!

解决方案 »

  1.   

    把你的SQL输出 看下那个参数为空
      

  2.   

     String s1=request.getParameter("keyword");
       String   s=request.getParameter( "style"); 
       System.out.println(s1+s);
    输出的为nullnull;报错为
    严重: 
    Servlet.service() for servlet jsp threw exception
    java.lang.NullPointerException
    at sun.jdbc.odbc.JdbcOdbcStatement.setSql(JdbcOdbcStatement.java:1131)
    at sun.jdbc.odbc.JdbcOdbcStatement.execute(JdbcOdbcStatement.java:324)
    at sun.jdbc.odbc.JdbcOdbcStatement.executeQuery(JdbcOdbcStatement.java:253)
    at org.apache.jsp.search_jsp._jspService(search_jsp.java:119)
      

  3.   

    你看一下你得两个jsp文件是不是都存放在webroot目录下的
      

  4.   

    操作数据库的代码为什么不写在dao里面呢
    得到的数据为什么不用在servlet里面存起来或者用struts之类的呢
    数据显示用下jstl或者struts的自带标签呢
      

  5.   

     enctype="multipart/form-data"
    这个不对
      

  6.   

    写的太乱了。
    String s=request.getParameter( "style");   应该是这里的错。
    style 是一个下拉框的name  你这样取不到下拉框里边的值。
    建议使用jsvar sel = document.getElementById("style");
     var n = sel.options[sel.selectedIndex].text ;
      

  7.   


    LZ的两个参数是keyword和style那他们对应的组件在哪儿啊!