Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Faire un UPDATE en SQL [ Archives / Au secours ] (papayou42)

mardi 9 décembre 2003 à 14:53:30 | Faire un UPDATE en SQL

papayou42

Bonjour a tous,
Vous trouverez ci-dessous mon code.
Ma question est comment faire un UPDATE la dedans. car quand il rajoute des enregistrements deja existant il me crache ce warning :
[Microsoft][ODBC SQL Server Driver][SQL Server]Violation de la contrainte PRIMARY KEY 'PK_client'. Impossible d'insérer une clé en double dans l'objet 'client'.


public void rempli_table_client(){
try {
Statement Requete = cx_as400.createStatement();
Statement Requete2 = cx_server.createStatement();
recup_as400 = "SELECT clcclt, clnomc, cladr1, cladr2, cladr3, clcpod, clvil, cltelp, clemai, clmodr, cldldr FROM eurofic045.clientpf";

ResultSet Resultat = Requete.executeQuery(recup_as400);
ResultSetMetaData rsmd = Resultat.getMetaData();
int nbcols = rsmd.getColumnCount();
String res;
System.out.println("Debut transfert client : ");
while (Resultat.next())
{
res = "INSERT INTO client VALUES (";
for (i = 1; i <= nbcols; i++)
{
String value = Resultat.getString(i);
String valuebis = value.replace('\'', '#');
System.out.println(valuebis);
res+= "'" + valuebis + "'";
if(i<nbcols){
res+=",";
}
}
res+=")"; /*res = res + ")";*/
Requete2.executeUpdate(res);
}
}
catch(SQLException d) {System.err.println(d.getMessage());}
}

En vous remerciant d'avance.
< STOP PLAYING WITH MY MIND >

mardi 9 décembre 2003 à 17:52:25 | Re : Faire un UPDATE en SQL

neodante

Administrateur CodeS-SourceS

Neodante

En regardant juste l'erreur, faudrait peut-être pas vouloir rajouter un enregistrment qui existe déjà avec la même clé primaire !
En regardant ton code, tu mets dans le sujet UPDATE mais c'est un INSERT ici d'où surement l'erreur !
@+

mercredi 10 décembre 2003 à 16:56:15 | Re : Faire un UPDATE en SQL

coucounet




Je suis tout à fait d'accord avec neodante!!

tu devrais déjà remplacer ton insert par:

res = "UPDATE client SET clcclt = ?, clnomc = ?, cladr1 = ?, cladr2 = ?, cladr3 = ?, clcpod = ?, clvil = ?, cltelp = ?, clemai = ?, clmodr = ?, cldldr = ?"


puis tu gère l'update avec :
requete2.setString(i, valuesbis ); ou
requete2.setInt(i, valuesbis );


ensuite le statement ne se décare par comme un INSERT:
PreparedStatement statement = connectEmetteur.connexion.prepareStatement(res);


Au final tu devrai obtenir quelque chose du style :
public void rempli_table_client(){
try {
Statement Requete = cx_as400.createStatement();
recup_as400 = "SELECT clcclt, clnomc, cladr1, cladr2, cladr3, clcpod, clvil, cltelp, clemai, clmodr, cldldr FROM eurofic045.clientpf";
PreparedStatement statement = connectEmetteur.connexion.prepareStatement(res);
ResultSet Resultat = Requete.executeQuery(recup_as400);
ResultSetMetaData rsmd = Resultat.getMetaData();
int nbcols = rsmd.getColumnCount();
String res;
System.out.println("Debut transfert client : ");
while (Resultat.next()) {
res = "UPDATE client SET clcclt = ?, clnomc = ?, cladr1 = ?, cladr2 = ?, cladr3 = ?, clcpod = ?, clvil = ?, cltelp = ?, clemai = ?, clmodr = ?, cldldr = ?";
for (i = 1; i <= nbcols; i++) {
String value = Resultat.getString(i);
String valuebis = value.replace('\'', '#');
requete2.setString(i, valuesbis );
System.out.println(valuebis);
}
int i = requete2.executeUpdate();
Requete2.executeUpdate(res);
}
}
catch(SQLException d) {System.err.println(d.getMessage());}
}


koukounet

mercredi 10 décembre 2003 à 16:58:44 | Re : Faire un UPDATE en SQL

coucounet



Désolé pour la pâté, je te laisse le remettre en forme, pour faire apparaitre les boucles..

koukounet

jeudi 11 décembre 2003 à 11:33:10 | Re : Faire un UPDATE en SQL

papayou42

Merci beaucoup mais cela ne fonctionne pas.

< STOP PLAYING WITH MY MIND >



Cette discussion est classé dans : sql, server, client, update, as400


Répondre à ce message

Sujets en rapport avec ce message

Faire un UPDATE en SQL [ par papayou42 ] Bonjour a tous, Vous trouverez ci-dessous mon code. Ma question est comment faire un UPDATE la dedans. car quand il rajoute des enregistrements deja e connexion jdbc sql server en authentification windows [ par pfovez ] j'aimerai savoir s'il est possible de se connecter a une bdd sql server 2000 en authentification windows ?et si oui comment faire?merci JFileChooser et client/server [ par guit38 ] bonjourJ'ai une application client/serveur, et je souhaite voir et sélectionner à partir du programme client des fichiers situés sur un ordinateur dis RTP server [ par byosra ] Bonjour, je suis en train de développer un serveur RTP et j'ai le problème suivant : comment faire pour que le client intialise la session RTP avec le deux server et plusieurs client.... [ par collinm ] pb serveur proxy [ par remy1066 ] salut, j'ai récupéré un code d'un simple serveur proxy. le serveur s'execute bien seulement lorsque je configure mon navigateur en le paramétrant ver connexion à une bd SQL server [ par anasshajami ] je suis bloqué svp, si vous pouvez m'aider. voila mon problème : je veux me connecter à une bd SQL server comment faire? - j'ai telechargé le driv Connexion à une DB SQL Server [ par Nina2507 ] bonsoir,j'arrive pas à me connecter à une base de donnée sql server,voici le code que j'ai fait:public class Connexion {    Connection con = null;    Sql Server + Analyseur de Requetes [ par syndrael ] J'accède à un serveur SQL Server distant via l'Analysuer de requetes. Mais j'ai oublié de garder une procédure stockée dans un fichier et donc celle-c erreur de connexion [ par tominfo ] J'ai un problème de connexion à une BD sur un serveur SQL Server 2000.Quand je définit les sources de données ODBC dans le panneau de configuration, t


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,312 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.