-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

まず、テーブル名と「where」の間にスペースが必要です。現在、完全なクエリは "delete from 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_studentswhere egn= '750698' から削除」という結果になります

SQLException をキャッチせず、単にスローします。つまり、追加します。throws

于 2012-12-29T07:23:53.593 に答える