Pb de mise ajour SQL... - SQL/NoSQL - Programmation
Marsh Posté le 18-02-2006 à 13:07:12
utilise donc des PreparedStatement au lieu de concaténer les paramètres directement dans la requete
Marsh Posté le 18-02-2006 à 13:35:36
ouais mais le probleme reste le meme , ca marche pas....
Marsh Posté le 18-02-2006 à 13:39:29
t'as vérifié le type de tes paramètres ? parce que tu insères le contenu d'un JTextField à la place de prénom, mais je vois pas les quotes dans la requête pour l'entourer....
edit: et ID, si c'est un numéro, tu crois qu'il a besoin de quotes par contre ?
edit2 : c'est le genre de souci que tu aurais vu de suite avec des PreparedStatement
Marsh Posté le 18-02-2006 à 15:52:50
y'a pas de quote pour l'entourer... c'est normal on m'a dit que ca s'ecrivait comme cela.. non?et le ID a besoin de quote car c'est l'element cherché...
Marsh Posté le 18-02-2006 à 15:55:23
aceditnanar a écrit : y'a pas de quote pour l'entourer... c'est normal on m'a dit que ca s'ecrivait comme cela.. non? |
tu diras à la personne qui t'a sorti ça que c'est un fieffé blaireau ! comme ton prénom est certainement de type texte (String), tu dois l'entourer de quotes dans la requete SQL, comme tous les types String
aceditnanar a écrit : |
mais n'importe quoi ! si ton ID est de type numérique, tu dois virer les quotes
Marsh Posté le 18-02-2006 à 16:10:15
y'a aussi ça qui me fait peur : getJTextFieldNouvPrenom().getText()
c'est quoi ce getJTextFieldNouvPrenom() ?
Marsh Posté le 18-02-2006 à 18:08:58
c'est une fonction permettant de retourner l'dresse d'un JTEXTFIELD... et get text prend alors la valeur entrée dans ce champs JTF..
mais tout cela fonctionne, on obtient bien la requette :
UPDATE Table_Auteur SET Prenom = nouveauprenom WHERE ID_Auteur LIKE '25'";
avec nouveauprenom egale a se que l'on a rentré dans le champ...
c'est apres que ca marche pas.. a l'execution de la commande et pourtant juste avant la creation d'un auteur marche nickel, dc la base de donnée est correctement accessible.
Marsh Posté le 18-02-2006 à 18:20:44
aceditnanar a écrit : c'est une fonction permettant de retourner l'dresse d'un JTEXTFIELD... et get text prend alors la valeur entrée dans ce champs JTF.. |
pourquoi ne pas simplement utiliser la variable membre correspondante au lieu d'utiliser un accesseur ?
aceditnanar a écrit : |
oui, mais bon sang de bon soir, as tu vérifié le type des paramètres, et as tu mis les quotes là ou il en fallait ??
Marsh Posté le 18-02-2006 à 18:57:34
oui tous fait cela...pb de quote.. maintenant ca marche.. merci...
plus que 500heures de boulot et plus que 72heures reelle a dispo pour terminer mon projet.. ahh!!!!!!!!!!!!
lol
@+
Marsh Posté le 17-02-2006 à 18:50:07
Bonjour tout le monde...
J'ai un petit probleme sur un programme java... Qui fonctionne avec une nase de donnée sous JDBC avec le langage SQL...
voila le code :
stmt = up_stat();
// on se place sur le premier tuple récupé
String updateString = "UPDATE Table_Auteur SET Prenom = "+getJTextFieldNouvPrenom().getText()+" WHERE ID_Auteur LIKE "+ID_auteur+"";
System.out.println(updateString);
try {
stmt.executeUpdate(updateString);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
et up_stat() c'est :
static Statement up_stat()
{
Statement stat = null;
try {
stat = con.createStatement(
ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
}
catch (SQLException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
return stat;
}
j'ai un souci au niveau de la requette sql, le compilateur me dit "2 parametre attendu", et je ne comprend pas où ca foire...
voila la ligne de commande sql...
UPDATE Table_Auteur SET Prenom = nouveauprenom WHERE ID_Auteur LIKE '25'";
Id = numero unique de personnes dans la base de donnée
merci pour votre aide car là je bloque vraiment...
merci @ ceux qui reponderont...
---------------
"Il faudrait construire des asiles de cons, mais vous imaginez la taille des batiments.." - André Dussolier, (Tais-Toi !!!)