SQL 删除语句怎么写呢?

来源:百度知道 编辑:UC知道 时间:2024/07/08 01:47:40
我的SQL语句是这样写的:delete from studentInfo where stuid = 2
但是、所影响的行数为 0
数据库中的记录并没有少!
是哪里出了问题?

另外一个问题!
我的数据库删除操作的方法是这么写的:
/删除学员基本信息的操作
//方法的名称叫做deleteManagerStudentInformation()
public boolean deleteManagerStudentInformation(ArrayList arraylist)
{
//获得数据操作对象
try {
Statement stmt = con.createStatement() ;

//遍历ARRAYLIST中的JAVABEAN进行数据库的删除操作
for(int i=0; i<arraylist.size(); i++)
{
StudentInformationBean studentBean = new StudentInformationBean() ;
stmt.executeUpdate("delete from [studentInfo] where stuid = "+studentBean.getStuID() ) ;
}
return true;
} catch (SQLException e) {
// TODO Auto-generated catch block
System.out.println("删除学员基本信息的方法出错、方法名称叫做 deleteManagerStudentInformation()") ;
e.printStackTrace();
return false ;
}

}
程序运行起来、并没有报错!
可是、数据库中的数据记录没有少!
我这样

其实我觉得你应该写成
delete from studentInfo where stuid = ‘2’试试,像你说的如果不是ID字段类型不是int,应该是不会出现这种情况的,你试试,不行再想别的办法
当然下面的语句也打上引号试试:
stmt.executeUpdate("delete from studentInfo where stuid = '"+studentBean.getStuID()+"'" ) ;
试试吧,祝你好运!

你写的那条是因为2没有打引号。
这个方法中studentBean.getStuID() 的值是什么啊?里面没东西啊 。

delete from studentInfo where trim(stuid)=2
delete from studentInfo where trim(stuid)='2'
你都试试

stmt.executeUpdate("delete from [studentInfo] where stuid = '"+studentBean.getStuID()+"'" ) ;