java数据库删除操作
将access中的一行删除,原代码为:<%Stringno=(String)session.getAttribute("no");StringdriverName="su...
将access中的一行删除,原代码为:
<%
String no=(String)session.getAttribute("no");String driverName="sun.jdbc.odbc.JdbcOdbcDriver";String url="jdbc:odbc:DStest";Class.forName(driverName).newInstance();Connection conn=DriverManager.getConnection(url,"","");Statement stmt=conn.createStatement();String sql="delete from student where stuno="+request.getParameter("id");stmt.executeUpdate(sql);response.sendRedirect("showing.jsp");stmt.close();conn.close();%>
提示为:标准表达式中数据类型不匹配。
org.apache.jasper.JasperException: An exception occurred processing JSP page /delete.jsp at line 20
17: Connection conn=DriverManager.getConnection(url,"","");18: Statement stmt=conn.createStatement();19: String sql="delete from student where stuno="+request.getParameter("id");20: stmt.executeUpdate(sql);21: response.sendRedirect("showing.jsp");22: stmt.close();23: conn.close(); 请问怎么解决!还有怎么对其进行修改!完整的,解决必追加奖励! 展开
<%
String no=(String)session.getAttribute("no");String driverName="sun.jdbc.odbc.JdbcOdbcDriver";String url="jdbc:odbc:DStest";Class.forName(driverName).newInstance();Connection conn=DriverManager.getConnection(url,"","");Statement stmt=conn.createStatement();String sql="delete from student where stuno="+request.getParameter("id");stmt.executeUpdate(sql);response.sendRedirect("showing.jsp");stmt.close();conn.close();%>
提示为:标准表达式中数据类型不匹配。
org.apache.jasper.JasperException: An exception occurred processing JSP page /delete.jsp at line 20
17: Connection conn=DriverManager.getConnection(url,"","");18: Statement stmt=conn.createStatement();19: String sql="delete from student where stuno="+request.getParameter("id");20: stmt.executeUpdate(sql);21: response.sendRedirect("showing.jsp");22: stmt.close();23: conn.close(); 请问怎么解决!还有怎么对其进行修改!完整的,解决必追加奖励! 展开
4个回答
推荐于2016-06-21 · 知道合伙人互联网行家
关注
展开全部
简单实现代码如下:
EmployeeDao.java
//删除数据
public boolean deleteEmployeeById(int id){
boolean result = false;
try{
con = DBCon.getConn();
String sql = "delete from tb_employee where id=?";
pstmt = (PreparedStatement) con.prepareStatement(sql);
pstmt.setInt(1, id);
int i = pstmt.executeUpdate();
if(i == 1)
result = true;
}catch(Exception e){
e.printStackTrace();
}finally{
try{
if(pstmt != null){
pstmt.close();
}
}catch(Exception e){
e.printStackTrace();
}
try{
if(con != null){
con.close();
}
}catch(Exception e){
e.printStackTrace();
}
}
return result;
}
TestSql2.java
package com.sql.test;
import com.sql.dao.EmployeeDao;
public class TestSql02 {
public static void main(String[] args){
boolean result = EmployeeDao.getInstance().deleteEmployeeById(1);
if(result == true){
System.out.println("删除成功!");
}else{
System.out.println("删除失败!");
}
}
}
EmployeeDao.java
//删除数据
public boolean deleteEmployeeById(int id){
boolean result = false;
try{
con = DBCon.getConn();
String sql = "delete from tb_employee where id=?";
pstmt = (PreparedStatement) con.prepareStatement(sql);
pstmt.setInt(1, id);
int i = pstmt.executeUpdate();
if(i == 1)
result = true;
}catch(Exception e){
e.printStackTrace();
}finally{
try{
if(pstmt != null){
pstmt.close();
}
}catch(Exception e){
e.printStackTrace();
}
try{
if(con != null){
con.close();
}
}catch(Exception e){
e.printStackTrace();
}
}
return result;
}
TestSql2.java
package com.sql.test;
import com.sql.dao.EmployeeDao;
public class TestSql02 {
public static void main(String[] args){
boolean result = EmployeeDao.getInstance().deleteEmployeeById(1);
if(result == true){
System.out.println("删除成功!");
}else{
System.out.println("删除失败!");
}
}
}
展开全部
如果不是连接数据库的问题,你应该看下 String sql="delete from student where stuno="+request.getParameter("id");
打印这个sql是什么样的,放到数据库中执行下,看是不是语句写错了,我感觉你应该是这个sql拼写错误。
打印这个sql是什么样的,放到数据库中执行下,看是不是语句写错了,我感觉你应该是这个sql拼写错误。
更多追问追答
追问
那怎么对表中数据进行修改?代码。
追答
你不是根据id删除一行吗 表里的值不就少了一行吗。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
parseInt() 函数可解析一个字符串,并返回一个整数。
语法
parseInt(string, radix)
参数描述
string :必需,要被解析的字符串。
radix:可选,表示要解析的数字的基数。该值介于 2 ~ 36 之间。如果省略该参数或其值为 0,则数字将以 10 为基础来解析。如果它以 “0x” 或 “0X” 开头,将以 16 为基数。如果该参数小于 2 或者大于 36,则 parseInt() 将返回 NaN。
语法
parseInt(string, radix)
参数描述
string :必需,要被解析的字符串。
radix:可选,表示要解析的数字的基数。该值介于 2 ~ 36 之间。如果省略该参数或其值为 0,则数字将以 10 为基础来解析。如果它以 “0x” 或 “0X” 开头,将以 16 为基数。如果该参数小于 2 或者大于 36,则 parseInt() 将返回 NaN。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
stuno 类型是什么?
request.getParameter("id");这个的返回值是String类型的
这里不匹配
request.getParameter("id");这个的返回值是String类型的
这里不匹配
追问
整型的,那该怎么改?
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询