此删除语句不会执行,也不会给出任何异常

时间:2012-12-29 07:19:50

标签: java postgresql

我无法解释为什么这个删除语句没有执行,也没有给我任何例外。

这里egn是一个在我的postgresql数据库中变化的字符,我想删除整个行,其中egn ='750698' 这是我的代码

package
com.tan;
import
java.io.File;
import
java.sql.*;
import
javax.xml.parsers.DocumentBuilder;
import
javax.xml.parsers.DocumentBuilderFactory;
import
org.w3c.dom.*;
public
class test_selectconect
{

    public static void main(String[] args) throws ClassNotFoundException
  {
    // delte
Connection conn=
null;
Class.forName(
"org.postgresql.Driver");
try
{
conn= DriverManager.getConnection(
"jdbc:postgresql://localhost:5432/tanyaprobadatabase", "postgres", "123");
}
catch (SQLException ex1)
{
ex1.printStackTrace();
}
Statement delstmt = null;
String delQuery= "delete from tanya_students";
delQuery += "where egn= '750698'";
try
{
delstmt=conn.createStatement();
delstmt.executeUpdate(delQuery);
}
catch (Exception ex)
{}
System.out.print("delete is ok");
}
    }
 

2 个答案:

答案 0 :(得分:1)

首先,表名和“where”之间需要一个空格。目前您的完整查询是“从tanya_studentswhere中删除egn ='750698'”,它必须是.... tanya_students where ....

答案 1 :(得分:0)

String delQuery= "delete from tanya_students";
delQuery += "where egn= '750698'";

导致“从tanya_studentswhere中删除egn ='750698'”

并且不捕获SQLException,只需抛出它,即将其添加到throws