jsp 删除图片

来源:百度知道 编辑:UC知道 时间:2024/06/28 19:55:12
<%
String name=request.getParameter("name");
name=codeString(name);
String url="../myapp/";

try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con=DriverManager.getConnection("jdbc:odbc:c9","","");
Statement sql=con.createStatement();
String sqlstr="select addr from book where name='"+name+"'; ";
ResultSet rs=sql.executeQuery(sqlstr);
if(rs.next()){
while(rs.next()){
String addr=rs.getString("addr");
int s1=addr.indexOf("/");

String n1=addr.substring(s1+1,addr.length());
String subPath=addr.substring(0,s1);
String FilePath=request.getRealPath("/")+url+subPath+"/";
java.io.File delFile=new java.io.File(FilePath,n1);
if(delFile.exists())
delFile.delete();//如果该文件存在,则删除
}
sql.executeUpdate("delete from book where name=

补充: 你把你后来的代码贴出来了。if 还是else if 要看你实际逻辑啊 这些都是你代码怎么写就怎么执行的啊。没有报错那就肯定是你 分支不正确哦。不看代码怎么知道你怎么弄的

好多问题
首先说你的关注的问题吧
if (delFile.exists()) 你这个地方 后面没有{ 是可以编译通过的,如果if条件满足 java默认执行后面第一句 反之如果不满足 除了第一句不执行 其余后面的都会执行啊,所以你里 不管有没有文件 打印的代码都会执行。
然后前面 if(rs.next()){
while(rs.next()){
这里有重大问题
if(rs.next()){ 的时候 游标已经开始走了 你第一条数据就漏掉了

if(delFile.exists())
{
delFile.delete();//如果该文件存在,则删除
sql.executeUpdate("delete from book where name='"+name+"'");
out.println("<SCRIPT language=javascript>alert('删除书籍成功!');window.location='bookm.jsp';</script>");

}