<%
String sql="DELETE FROM user WHERE bh=?";
String id=request.getParameter("id");
int number=Integer.parseInt(id);[/color]
try
{
Class.forName("com.myslq.jdbc.Driver");
Connection c=DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","mysql");
PreparedStatement ps=c.prepareStatement(sql);
ps.setInt(1, number);
int result=ps.executeUpdate();
if(result==1)
{
out.print("删除成功!");
response.sendRedirect("userlist.jsp");
}
else
{
out.print("删除失败!");
}
c.close();

ps.close();

}
catch(Exception e)
{
e.printStackTrace();
}%>

红色字体的是在不知道什意思
这个程序功能是点击删除后删除数据库中的一行数据

解决方案 »

  1.   

    这 你不会Java编程的概念都不是很清楚吧?
    PrepareStatement接口继承并扩展了Statement接口,用来执行动态的SQL语句
    自己百度下PreparedStatement
      

  2.   

    LZ是不明白PreparedStatement还是不明白ps.setInt(1, number);这种赋值方式
      

  3.   

    ps.setInt(1, number)是把number传到DELETE FROM user WHERE bh= ? 的问号里
    int result=ps.executeUpdate(); 是执行这个sql语句,然后返回影响的行数。。如果删除一条就返回1。。
      

  4.   

    PreparedStatement效率高而且还避免SQL注入漏洞,搜下就很多帖子有解释。