关于提交表单后得到ID如何获取整值以便SQL语句。
请问各位大虾为什么我修改资料时会出现这样的错误,以下的是提交修改后处理的代码。
我检查到 long id=Long.parseLong(request.getParameter("id"));出问题,但又不知道怎么改,而且这个代码我看别人也在用也可以呀。另我自己把上句注释掉,把改成id=1,文件正常工作,只是只能更改ID为1的那个记录。
请问如何解决.
如下是错误。
exception
org.apache.jasper.JasperException: null
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:372)
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)
root cause
java.lang.NumberFormatException: null
java.lang.Long.parseLong(Long.java:292)
java.lang.Long.parseLong(Long.java:381)
org.apache.jsp.AccessDb.acceptmodi2_jsp._jspService(acceptmodi2_jsp.java:64)
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)
如下是代码:
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="java.sql.*" %>
<%!
public String codeToString(String str)
{//??????????
String s=str;
try
{
byte tempB[]=s.getBytes("ISO-8859-1");
s=new String(tempB);
return s;
}
catch(Exception e)
{
return s;
}
}
%>
<%//接收要修改的用户ID号
long id=Long.parseLong(request.getParameter("id"));
%>
<%//??????????
String title=codeToString(request.getParameter("title"));
if(title==null)//无内容则设为空串
title="";
String description=codeToString(request.getParameter("description"));
if(description==null)//无内容则设为空串
description="";
String fileurl=codeToString(request.getParameter("fileurl"));
if(fileurl==null)//无内容则设为空串
fileurl="";
String picurl=codeToString(request.getParameter("picurl"));
if(picurl==null)//无内容则设为空串
picurl="";
String kind=codeToString(request.getParameter("kind"));
if(kind==null)//无内容则设为空串
kind="";
%>
<%//??????SQL??
String sqlString=null;//SQL??
sqlString="update search_en set title='"+title+"',description='"+description+"',fileurl='"+fileurl+"',picurl='"+picurl+"',kind='"+kind+"' where id="+id;
%>
<%//??SQL??
try
{ Connection con;
Statement sql;
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String strDirPath=getServletContext().getRealPath("/");
strDirPath=strDirPath.replace('\\','/');
String url = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ="+strDirPath+"AccessDb/searchDB.mdb";
con=DriverManager.getConnection(url);
out.println(sqlString + " <br/>");
sql=con.createStatement();
sql.executeUpdate(sqlString);
con.close();
}
catch(SQLException e1)
{
out.print(e1);
}
%>
Modify Succed! Please [ <a href="javascript:history.back();">return</a> ] [<a href="queryky2.jsp">list</a>]