[JDBC] Erreur ORA-00933

Erreur ORA-00933 [JDBC] - SQL/NoSQL - Programmation

Marsh Posté le 07-06-2006 à 17:03:28    

Bonjour,
 
Lorsque j'exécute ce code, une exeption SQL est lancée ou je l'ai indiqué, et l'erreur est ORA-00933 - la commande SQL ne se termine pas correctement.
 
C'est peut etre une connerie, mais je ne voit pas ce qui cloche  :??:  
 

Code :
  1. public int deleteName(String name){
  2.         int myResult = -1;
  3.                 
  4.         PreparedStatement myRequest_sejour = null;
  5.         String SQLRequest_sejour;
  6.         
  7.         PreparedStatement myRequest_client = null;
  8.         String SQLRequest_client;
  9.         
  10.         PreparedStatement myRequest_client2 = null;
  11.         String SQLRequest_client2;
  12.         
  13.         ResultSet myResultset = null;
  14.         ArrayList idList = new ArrayList();
  15.         
  16.         int totalRow = 0;
  17.         
  18.         char choix = 'i';
  19.         try {
  20.             //Don't commit before the user comfirm !
  21.             databaseConnection.setAutoCommit(false);
  22.             
  23.             SQLRequest_client = "SELECT id FROM client WHERE nom = ?";
  24.             
  25.             myRequest_client = databaseConnection.prepareStatement(SQLRequest_client);
  26.             myRequest_client.setString(1,name);
  27.             
  28.             myResultset = myRequest_client.executeQuery();
  29.  
  30.             while (myResultset.next()){
  31.                 idList.add(myResultset.getBigDecimal(1));
  32.                 //System.out.println(""+myResultset.getBigDecimal(1));
  33.             }
  34.             
  35.             myRequest_client.close();
  36.             myRequest_client = null;
  37.             
  38.             if (idList.size() > 0){
  39.                 //Because of the keys, I must delete all the sejours of the client before delete the client himself
  40.                 SQLRequest_sejour = "DELETE FROM sejour WHERE idclient = ?";
  41.                 myRequest_sejour = databaseConnection.prepareStatement(SQLRequest_sejour);
  42.                 
  43.                 for (int i = 0; i < idList.size(); i++){
  44.                     myRequest_sejour.setBigDecimal(1,(BigDecimal)idList.get(i));
  45.                     myResult = myRequest_sejour.executeUpdate();
  46.                     totalRow += myResult;
  47.                 }
  48.                 myRequest_sejour.close();
  49.                 myRequest_sejour = null;
  50.                 System.out.println("Number of row to delete into table sejour : " + totalRow);
  51.                 
  52.                 //Delete the client
  53.                 
  54.                 SQLRequest_client2 = "DELETE FROM client WERE nom = ?";
  55.                 
  56.                 myRequest_client2 = databaseConnection.prepareStatement(SQLRequest_client2);
  57.                 
  58.                 
  59.                 myRequest_client2.setString(1,name);
  60.                 
  61. //***** Le problème est ici **************
  62.                 myResult = myRequest_client2.executeUpdate();
  63. //**********************************
  64.                 
  65.                 totalRow += myResult;
  66.                 myRequest_client2.close();
  67.                 myRequest_client2 = null;
  68.                 System.out.println ("You will delete " + totalRow + " Rows, are you sure ?" );
  69.                 choix = Keyboard.readChar();
  70.                 if (choix == 'y'){
  71.                     databaseConnection.commit();
  72.                 }else{
  73.                     databaseConnection.rollback();
  74.                     totalRow = 0;
  75.                 }
  76.                 
  77.             }
  78.             databaseConnection.setAutoCommit(true);
  79.         }
  80.         
  81.         catch (SQLException e){
  82.             try {
  83.                 databaseConnection.rollback();
  84.                 totalRow = 0;
  85.             } catch (SQLException e1) {
  86.             }
  87.            System.out.println ("SQL Error: " + e);
  88.        }
  89.        catch (Exception e){
  90.            System.out.println ("Other Exception: " + e);
  91.        }
  92.         return totalRow;
  93.     }


---------------
.
Reply

Marsh Posté le 07-06-2006 à 17:03:28   

Reply

Marsh Posté le 07-06-2006 à 17:15:59    

Citation :


SQLRequest_client2 = "DELETE FROM client WERE nom = ?";


[:el g]

Reply

Marsh Posté le 07-06-2006 à 17:19:44    

Harkonnen a écrit :

Citation :


SQLRequest_client2 = "DELETE FROM client WERE nom = ?";


[:el g]


 
 
 [:psywalk]  
 
Ralala, c'est le genre de faute que l'on ne voit que si ce n'est pas nous qui avons codé le truc,
 
Enfin, merci bcp !


---------------
.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed