-
Débutant java sql
je doit créer les méthodes d'une DAO et les tester.
la création de la méthode update est faite mais le teste me renvoi l'erreur suivante ORA-00907:parenthèse de droite absente
ligneTicket.updateLigneTicketOTC("Lt1",1,"A",50,"Tar2","Tp","null",15,30,10,"A","commentaireConfi",
"SF",Date.valueOf("07-07-07"),10,"envoye","trainId","numeroOrdre","courtage",
"messageAllouant",3,"o",0,"Pd2","D2","T2","SL1","tS","ok","ST1","A","lg_LT",3,
"TypeEcheance",15,"quotite","EA","NotionalValueN","NotionalValueM","delta",
"FuturesIndexCrossed",Date.valueOf("07-07-07"),"Settlement","Exercise","Terms","GlobalPremium",
Timestamp.valueOf("2022-12-05 16:29:50.1456484"),"statutVersion","executiveBroker","modificateur");
sachant que je travail sur oracle XE, merci de m'apporter de l'aide
-
faudrait peut etre regarder du coté de la requete sql que t'envoie au serveur, plutot que du coté de ton appel DAO? Clairement, il te manque une parenthèse droite dans ta requête, on peut pas t'aider plus en avant, ferme tes parenthèses :D
-
j'ai verifié les parentheses , et la requete mais je n'ai rien trouvé, je pense que c'est plutot ma gestion du TimeStamp ou de la date.
voici mes requetes:
requete0="update LG_STCK set (ligneTicketId='"+ligneTicketId+"',NumSplit='"+numSplit+"',sens='"+sens+"'," +
"quantite='"+quantite+"',tarification='"+tarification+"',Type='"+Type+"'," +
"echeanceManuelle='"+echeanceManuelle+"',prix='"+prix+"',prixRef='"+prixRef+"',brokerage='"+brokerage+"'," +
"franco='"+franco+"',commentaireConfi='"+commentaireConfi+"',statutFacturation='"+statutFacturation+"'," +
"dateValeur='"+dateValeur+"',commission='"+commission+"',envoye='"+envoye+"',trainId='"+trainId+"',"
+
"numeroOrdre='"+numeroOrdre+"',courtage='"+courtage+"',messageAllouant='"+messageAllouant+"',"
+
"niveau='"+niveau+"',statut='"+statut+"',couverture='"+couverture+"',produitId='"+produitId+"',"
+
"deviseId='"+deviseId+"',ticketId='"+ticketId+"',statutLigneId='"+statutLigneId+"', " +
"typeSplitId='"+typeSplitId+"',statutFacturationId='"+statutFacturationId+"',
"sousTicketId='"+sousTicketId+"',critereFacturationId='"+critereFacturationId+"'," +
"lg_LigneTicketId='"+lg_LigneTicketId+"',lg_NumSplit='"+lg_NumSplit+"'," +
"TypeEcheance='"+TypeEcheance+"',Strike='"+Strike+"',quotite='"+quotite+"',EA='"+EA+"')";
requete1="update OTC set (ligneTicketId='"+ligneTicketId+"',NumSplit='"+numSplit+"'," +
"NotionalValueN='"+NotionalValueN+"', NotionalValueM='"+NotionalValueM+"',delta='"+delta+"'," +
"FuturesIndexCrossed='"+FuturesIndexCrossed+"',PremiumPaymentDate='"+PremiumPaymentDate+"'," +
"Settlement='"+Settlement+"',Exercise='"+Exercise+"'," +
"Terms='"+Terms+"',GlobalPremium='"+GlobalPremium+"')";
requete2="update Ticket set (TimeStamp='"+timeStamp+"', StatutVersion='"+statutVersion+"'," +
"ExecutiveBroker='"+executiveBroker+"', modificateur='"+modificateur+"')where TicketId='"+ticketId+"'";
-
c'est peut etre des guillemet aussi qui posent problème (et cachent une parenthèse). Cà m'a l'air d'une fameuse tartine de + tes requets sql. Essaie déjà de trouver laquelle foire, ensuite affiche le résultat final (la requete construite). Aussi, pour éviter à la fois les problèmes de lecture, les problèmes de guillement et le sql injection, regarde à utiliser plutôt des prepared statements!