我写了一个输入订单编号.并查询的小程序.如下!
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<title>查询</title>
</head>
<body>
<hr>
<form name="form1" method="post" action="">
<div align="center">订单查询:
<input name="v1" type="text" id="v1" value="">
<input name="fiand" type="submit" id="fiand" value="提交">
</div>
</form>
<hr>
<%
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://192.168.10.72:1433;DatabaseName=mysql";
String user="sa";
String password="";
Connection conn= DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement
(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql ="select * from test ";
String v1 = request.getParameter("v1");
if(v1!=null){
%>
<table width="100%" border="0" cellspacing="1" bgcolor="#000000">
<tr bordercolor="#000000" bgcolor="#FFFFFF">
<td width="7%" bgcolor="#FFFFFF"><div align="center">订单编号</div></td>
<td width="19%" bgcolor="#FFFFFF"><div align="center">客户名称</div></td>
<td width="10%" bgcolor="#FFFFFF"><div align="center">产品名称</div></td>
<td width="24%" bgcolor="#FFFFFF"><div align="center">规格型号</div></td>
<td width="16%" bgcolor="#FFFFFF"><div align="center">配置编码</div></td>
<td width="2%" bgcolor="#FFFFFF"><div align="center">位单</div></td>
<td width="2%" bgcolor="#FFFFFF"><div align="center">数量</div></td>
<td width="20%" bgcolor="#FFFFFF"><div align="center">备注</div></td>
</tr>
<%
sql="select * from test where dd=v1 ";/////DD为库里的订单号字段
ResultSet rs=stmt.executeQuery(sql);
while(rs.next())%>
<tr bordercolor="#000000" bgcolor="#FFFFFF">
<td height="20"><%=rs.getString(1)%></td>
<td><%=rs.getString(2)%></td>
<td><%=rs.getString(3)%></td>
<td><%=rs.getString(4)%></td>
<td><%=rs.getString(5)%></td>
<td><%=rs.getString(6)%></td>
<td><%=rs.getString(7)%></td>
<td><%=rs.getString(8)%></td>
</tr>
</table>
<%}
rs.close();
stmt.close();
conn.close();
%></body>
</html>运行后出现错误是什么意思!该怎么解决...
An error occurred at line: 54 in the jsp file: /sql/fiand.jsp
Generated servlet error:
rs cannot be resolved
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<title>查询</title>
</head>
<body>
<hr>
<form name="form1" method="post" action="">
<div align="center">订单查询:
<input name="v1" type="text" id="v1" value="">
<input name="fiand" type="submit" id="fiand" value="提交">
</div>
</form>
<hr>
<%
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://192.168.10.72:1433;DatabaseName=mysql";
String user="sa";
String password="";
Connection conn= DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement
(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql ="select * from test ";
String v1 = request.getParameter("v1");
if(v1!=null){
%>
<table width="100%" border="0" cellspacing="1" bgcolor="#000000">
<tr bordercolor="#000000" bgcolor="#FFFFFF">
<td width="7%" bgcolor="#FFFFFF"><div align="center">订单编号</div></td>
<td width="19%" bgcolor="#FFFFFF"><div align="center">客户名称</div></td>
<td width="10%" bgcolor="#FFFFFF"><div align="center">产品名称</div></td>
<td width="24%" bgcolor="#FFFFFF"><div align="center">规格型号</div></td>
<td width="16%" bgcolor="#FFFFFF"><div align="center">配置编码</div></td>
<td width="2%" bgcolor="#FFFFFF"><div align="center">位单</div></td>
<td width="2%" bgcolor="#FFFFFF"><div align="center">数量</div></td>
<td width="20%" bgcolor="#FFFFFF"><div align="center">备注</div></td>
</tr>
<%
sql="select * from test where dd=v1 ";/////DD为库里的订单号字段
ResultSet rs=stmt.executeQuery(sql);
while(rs.next())%>
<tr bordercolor="#000000" bgcolor="#FFFFFF">
<td height="20"><%=rs.getString(1)%></td>
<td><%=rs.getString(2)%></td>
<td><%=rs.getString(3)%></td>
<td><%=rs.getString(4)%></td>
<td><%=rs.getString(5)%></td>
<td><%=rs.getString(6)%></td>
<td><%=rs.getString(7)%></td>
<td><%=rs.getString(8)%></td>
</tr>
</table>
<%}
rs.close();
stmt.close();
conn.close();
%></body>
</html>运行后出现错误是什么意思!该怎么解决...
An error occurred at line: 54 in the jsp file: /sql/fiand.jsp
Generated servlet error:
rs cannot be resolved
解决方案 »
- SSH2的注解注入和xml注入,大家都用那种???
- 急,Clob 取长度length 报SQLException 必须登录到服务器
- tomcat缓存
- JavaServer Faces核心编程(第2版)这本书译的怎么样?
- 请大家帮我看一下这段提交表单后禁用按钮的代码哪里错了!
- 将jsp查询结果生成报表
- 高手指点 如何在页面中跳一个子画面
- 关于jsp聊天室自动滚屏的问题!!!
- 给200分:oracle的jdbc有BUG??为何在servlet中记录数不能超过120条?
- wsdl2java命令格式的疑问
- jsp的一个问题,请大家帮忙看一下
- encodeRedirectURL 方法是干什么用的﹐有那位知道
我用的是SQL 2000 那我该怎么取呢!
char rs.getString
nvarchar rs.getString
如果输入一个"客户名称"为关键字.
库里的字段字 kh 为nvarchar 型.sql="select * from test where kh=v1 ";对不对!对不起我是刚学的.麻烦你了!!
再到sql分析器执行一下
<td><%=nvarchar (rs.getString(2))%></td>
<td><%=nvarchar (rs.getString(3))%></td>
<td><%=nvarchar (rs.getString(4))%></td>
<td><%=nvarchar (rs.getString(5))%></td>
<td><%=chat (rs.getString(6))%></td>
<td><%=int (rs.getint(7))%></td>
<td><%=nvarchar (rs.getString(8))%></td>对不起.出现这样错误!An error occurred at line: 43 in the jsp file: /sql/fiand.jsp
Generated servlet error:
Syntax error on token "int", delete this tokenAn error occurred at line: 49 in the jsp file: /sql/fiand.jsp
Generated servlet error:
Syntax error on token "int", delete this token
ResultSet rs=stmt.executeQuery(sql);
while(rs.next())%>
<tr bordercolor="#000000" bgcolor="#FFFFFF">
<td height="20"><%=int rs.getInt(1)%></td>
<td><%=nvarchar (rs.getString(2))%></td>
<td><%=nvarchar (rs.getString(3))%></td>
<td><%=nvarchar (rs.getString(4))%></td>
<td><%=nvarchar (rs.getString(5))%></td>
<td><%=chat (rs.getString(6))%></td>
<td><%=int (rs.getInt(7))%></td>
<td><%=nvarchar (rs.getString(8))%></td>
</tr>
</table>还是这样!是为什么啊!
An error occurred at line: 43 in the jsp file: /sql/fiand.jsp
Generated servlet error:
Syntax error on token "int", delete this tokenAn error occurred at line: 49 in the jsp file: /sql/fiand.jsp
Generated servlet error:
Syntax error on token "int", delete this token
sql="select * from test where dd="+v1;
放在
rs.close();
stmt.close();
conn.close(); 后面!
37: <%
38: sql="select * from test where dd="+v1;
39: ResultSet rs=stmt.executeQuery(sql);
40: while(rs.next())%>
41:
42: <tr bordercolor="#000000" bgcolor="#FFFFFF">
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:504)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:375)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause javax.servlet.ServletException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]第 1 行: '=' 附近有语法错误。
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:858)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:791)
org.apache.jsp.sql.fiand_jsp._jspService(fiand_jsp.java:129)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
36: </tr>
37: <%
38: sql="select * from test where dd="+v1;
39: ResultSet rs=stmt.executeQuery(sql);
40: while(rs.next()){%>
41:
42: <tr bordercolor="#000000" bgcolor="#FFFFFF">
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:504)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:375)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
这个JSP出错的原因在于<%}
rs.close(); 上面的}打错了,应该放在conn.close();后面。因为你的ResultSet rs不是全局的。
应该是sql="select * from test where dd='" + v1 + "'";