-1

我无法解释为什么这个删除语句不执行也不给我任何异常。

这里 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");
}
    }
 
4

2 回答 2

1

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

于 2012-12-29T07:25:05.900 回答
0
String delQuery= "delete from tanya_students";
delQuery += "where egn= '750698'";

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

并且不要捕获SQLException,直接抛出,也就是添加到throws

于 2012-12-29T07:23:53.593 回答