我写了一段 用于搜索的代码,通过输入作者名搜索出这个作者的文章.如果是"select * from AR"便可以顺利罗列出整个数据库的资料,但一改成select * from AR where AUTHOR=Username,就说什么参数不足,请大家帮我看看是怎么回事??谢谢大家...<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*,bean.*,java.util.Collection,java.util.ArrayList,java.util.Iterator;" errorPage="" %>
<%
String Username=request.getParameter("username");
String url="jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=D:/java/myblog.mdb";

try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}
catch(java.lang.ClassNotFoundException e) {
System.err.println("mydb(): " + e.getMessage());
}
Statement stmt = null;
ResultSet rs = null;
Connection conn = DriverManager.getConnection(url);
stmt = conn.createStatement();
String sql = "select * from AR where AUTHOR=Username";
rs = stmt.executeQuery(sql);
Collection c = new ArrayList();
messageA msg = null;
while (rs.next()) {
msg = new messageA();
msg.seta_title(rs.getString("TITLE"));
msg.seta_content(rs.getString("CONTENT"));
msg.setAuthor(rs.getString("AUTHOR"));
c.add(msg);
msg = null;
}
Iterator iterator = c.iterator();
while (iterator.hasNext()) {
messageA ms = (messageA) iterator.next();
%>
<td><%= ms.getAuthor() %></td>
<td><%= ms.geta_title() %></td><%}%>显示的错误:
javax.servlet.ServletException: [Microsoft][ODBC Microsoft Access Driver] 参数不足,期待是 1。
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:825)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:758)
org.apache.jsp.test_jsp._jspService(test_jsp.java:106)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)