我无法解释为什么这个删除语句没有执行,也没有给我任何例外。
这里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");
}
}
答案 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