用struts来实现删除,但是一直都不成功,谁来帮我看看怎么回事
这里是jsp页面,我是先实现查询,将查询的所有结果打印出来,并在每一条结果的后面添加一个删除选项
如果要删除这一条就可以点击,del来实现,这里是代码
<body>
<center>
<table>
<tr> <td> username </td> <td> password </td> <td> sex </td> <td> del </td> </tr>
<logic:iterate id="se" name="sel">
<tr>
<td> <bean:write name="se" property="username"/> </td>
<td> <bean:write name="se" property="password"/> </td>
<td> <bean:write name="se" property="sex"/> </td>
<td> <a href="del.do?method=del"> del </a> </td>
</tr>
</logic:iterate>
</table>
</center>
</body>
这里是Action
public ActionForward del(ActionMapping mapping,ActionForm form,HttpServletRequest
request,HttpServletResponse response){
zcD z=new zcD();
String name=request.getParameter("username"); 数据挖掘研究院
System.out.println("aaaaaaaaaaaaaaaaaaaaaa"+name);(这里在运行时打印出来的name是null,也就是说没有数据被读取到)
int state=z.delByName(name);
if(state> 0){
return mapping.findForward("del");
}
return mapping.findForward("delFal");
}
这里是dao
public int delByName(String name) {
dbCon d=new dbCon();
try{
String sql="delete from llz where username=name";
pstm=d.getCon().prepareStatement(sql);
state=pstm.executeUpdate();
}catch(Exception e){
e.printStackTrace();
}
return state;
}
运行时会报错,错误是:
aaaaaaaaaaaaaaaaaaaaaanull
java.sql.SQLException: Unknown column 'name' in 'where clause'
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2921) 数据挖掘研究院
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1570)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1665)
at com.mysql.jdbc.Connection.execSQL(Connection.java:2978)
at com.mysql.jdbc.Connection.execSQL(Connection.java:2902)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:930)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1159)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1076)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1061)
at com.zll.dao.zcD.delByName(zcD.java:47)
at com.zll.struts.action.ZcAction.del(ZcAction.java:57)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:274)
at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:194)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at com.zll.filter.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:88)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at com.zll.filter.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:88)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:595)
java.sql.SQLException: Unknown column 'name' in 'where clause'
檢查下你的name字段在不在數據庫里面
這里傳的參數是什么類型之類的。。。你这里有两个问题
1。 <a href="del.do?method=del"> del </a> 这种写法不完整
建议: <a href="del.do?method=del&name= <bean:write name="se" property="username"/> "> del </a>
2。String sql="delete from llz where username=name"; 这种写法不对
建议:String sql="delete from llz where username='"+ name + "'";
最新评论共有 0 位网友发表了评论
查看所有评论
发表评论
热点关注

