代码如下 5<%@ page contentType="text/html;charset=gb2312" language="java"%>
<%@include file="../inc/dbstart.jsp"%>
<link rel="stylesheet" href="../css/css.css" type="text/css">
<%
if(request.getParameter("add")!=null)
{
String jingdian=request.getParameter("chengshiJd");
String chengshi=request.getParameter("chengshiName");
sql3="select * from chengshi where chengshi_name="+chengshi;
rs3=stmt3.executeQuery(sql3);
rs3.next();
if(rs3.getString("chengshi_name").equals(chengshi))
{
int s=Integer.parseInt("chengshi_id");
}
else
sql1="insert into chengshi (chengshi_name) values('"+chengshi+"')";
stmt1.executeUpdate(sql1);
sql4="insert into chengshi_jd(jd_name)values ('"+jingdian+"')";
stmt4.executeUpdate(sql4);
%>
<%
sql2="insert into chengshi_jd(jd_name,cs_id)values('"+jingdian+"','"+s+"')";
stmt2.executeUpdate(sql2);
%>
<jsp:forward page="../index/you.jsp"/>
<%
}%>
<TABLE align="center">
<TR>
<TD>添加:</TD>
</TR>
<form METHOD=POST ACTION="add.jsp" name="tx"><TR>
<TD>旅游景点:<INPUT TYPE="text" NAME="chengshiJd"></TD>
</TR><TR>
<TD>旅游城市:<INPUT TYPE="text" NAME="chengshiName"></TD>
</TR>
<TR>
<TD><INPUT TYPE="submit" value="确定" name="add"> <INPUT TYPE="reset"></TD>
</TR>
</form>
</TABLE>
<%@include file="../inc/dbclose.jsp"%>
<%@include file="../inc/dbstart.jsp"%>
<link rel="stylesheet" href="../css/css.css" type="text/css">
<%
if(request.getParameter("add")!=null)
{
String jingdian=request.getParameter("chengshiJd");
String chengshi=request.getParameter("chengshiName");
sql3="select * from chengshi where chengshi_name="+chengshi;
rs3=stmt3.executeQuery(sql3);
rs3.next();
if(rs3.getString("chengshi_name").equals(chengshi))
{
int s=Integer.parseInt("chengshi_id");
}
else
sql1="insert into chengshi (chengshi_name) values('"+chengshi+"')";
stmt1.executeUpdate(sql1);
sql4="insert into chengshi_jd(jd_name)values ('"+jingdian+"')";
stmt4.executeUpdate(sql4);
%>
<%
sql2="insert into chengshi_jd(jd_name,cs_id)values('"+jingdian+"','"+s+"')";
stmt2.executeUpdate(sql2);
%>
<jsp:forward page="../index/you.jsp"/>
<%
}%>
<TABLE align="center">
<TR>
<TD>添加:</TD>
</TR>
<form METHOD=POST ACTION="add.jsp" name="tx"><TR>
<TD>旅游景点:<INPUT TYPE="text" NAME="chengshiJd"></TD>
</TR><TR>
<TD>旅游城市:<INPUT TYPE="text" NAME="chengshiName"></TD>
</TR>
<TR>
<TD><INPUT TYPE="submit" value="确定" name="add"> <INPUT TYPE="reset"></TD>
</TR>
</form>
</TABLE>
<%@include file="../inc/dbclose.jsp"%>
s cannot be resolved
22:
23:
24: <%
25: sql2="insert into chengshi_jd(jd_name,cs_id)values('"+jingdian+"','"+s+"')";
26: stmt2.executeUpdate(sql2);
27: %>
28: <jsp:forward page="../index/you.jsp"/>
Stacktrace:
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:92)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)
org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:423)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:317)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:295)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:282)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:586)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.18 logs.
{
int s=Integer.parseInt("chengshi_id");
}这个局部变量s只在这个括号的范围内有效!!!!!!!!!
int s;
if(request.getParameter("add")!=null)
{
String jingdian=request.getParameter("chengshiJd");
String chengshi=request.getParameter("chengshiName");
sql3="select * from chengshi where chengshi_name="+chengshi;
rs3=stmt3.executeQuery(sql3);
rs3.next();
if(rs3.getString("chengshi_name").equals(chengshi))
{
s=Integer.parseInt("chengshi_id");
}
else
sql1="insert into chengshi (chengshi_name) values('"+chengshi+"')";
stmt1.executeUpdate(sql1);
sql4="insert into chengshi_jd(jd_name)values ('"+jingdian+"')";
stmt4.executeUpdate(sql4);
%>
{
int s=Integer.parseInt("chengshi_id");
}
你的S是局部变量,出了这个大括号就找不到它了,改成下面这样
int s;
if(rs3.getString("chengshi_name").equals(chengshi))
{
s=Integer.parseInt("chengshi_id");
}
The local variable s may not have been initialized
26:
27:
28: <%
29: sql2="insert into chengshi_jd(jd_name,cs_id)values('"+jingdian+"','"+s+"')";
30: stmt2.executeUpdate(sql2);
31: %>
32: <jsp:forward page="../index/you.jsp"/>改过之后 变成这个错误了
sql2="";
......
ResultSet rs = null;
Statement stmt=null;
定义的时候赋值一下
11: String chengshi=request.getParameter("chengshiName");
12: sql3="select * from chengshi where chengshi_name="+chengshi;
13: rs3=stmt3.executeQuery(sql3);
14: while (rs3.next()){
15:
16: if(rs3.getString("chengshi_name").equals(chengshi))
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:505)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:398)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
root cause javax.servlet.ServletException: java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]第 1 行: '¹' 附近有语法错误。
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:852)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:781)
org.apache.jsp.lvyouchengshi.add_jsp._jspService(add_jsp.java:190)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
root cause java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]第 1 行: '¹' 附近有语法错误。
com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
com.microsoft.jdbc.sqlserver.tds.TDSRequest.processErrorToken(Unknown Source)
com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReplyToken(Unknown Source)
com.microsoft.jdbc.sqlserver.tds.TDSRPCRequest.processReplyToken(Unknown Source)
com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReply(Unknown Source)
com.microsoft.jdbc.sqlserver.tds.TDSCursorRequest.openCursor(Unknown Source)
com.microsoft.jdbc.sqlserver.SQLServerImplStatement.execute(Unknown Source)
com.microsoft.jdbc.base.BaseStatement.commonExecute(Unknown Source)
com.microsoft.jdbc.base.BaseStatement.executeQueryInternal(Unknown Source)
com.microsoft.jdbc.base.BaseStatement.executeQuery(Unknown Source)
org.apache.jsp.lvyouchengshi.add_jsp._jspService(add_jsp.java:118)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.18 logs.
"select * from chengshi where chengshi_name='"+chengshi+"'";这样改 以后虽然不报错了 但是 整体
功能 不能实现 不知道为什么 额外在问吧 谢谢 小猪大人 总算不报错了 那就结贴去了
{
int s=Integer.parseInt("chengshi_id");
}
错了 ,s应该放在if外声明。
O(∩_∩)O~ LZ给分