IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JDBC Java Discussion :

UPDATE plusieurs tables


Sujet :

JDBC Java

  1. #1
    Membre du Club
    Femme Profil pro
    Ingénieur en Télécommunication
    Inscrit en
    Octobre 2017
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur en Télécommunication
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2017
    Messages : 121
    Points : 63
    Points
    63
    Par défaut UPDATE plusieurs tables
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
     
     if(comboBox_2.getSelectedItem().toString()!=null)
     
    					 statement = connection.prepareStatement("UPDATE Client  SET Nom_projet=?  WHERE IDClient=(SELECT IDClient FROM Client WHERE Nom=? AND Prenom=?)");
    				  	 statement.setString(1, comboBox_2.getSelectedItem().toString());
    				     statement.setString(2,comboBox.getSelectedItem().toString());
    					 statement.setString(3,comboBox_1.getSelectedItem().toString());
     
    				  statement.executeUpdate( );
     
     
    				   if(textField.getText()!=null)
     
    						 statement = connection.prepareStatement("UPDATE Client SET prix_loge=? WHERE IDClient=(SELECT IDClient FROM Client WHERE Nom=? AND Prenom=?)");
    					  	 statement.setString(1, textField.getText());
    					  	 statement.setString(2,comboBox.getSelectedItem().toString());
    						 statement.setString(3,comboBox_1.getSelectedItem().toString());
     
    					  statement.executeUpdate( );
     
     
     
    				   if(idbloc.getText() !=null)
    					   statement = connection.prepareStatement("UPDATE Liste SET Bloc=? WHERE IDClient=(SELECT IDClient FROM Client WHERE Nom=? AND Prenom=?)");
    					   statement.setString(1, idbloc.getText());
    					   statement.setString(2,comboBox.getSelectedItem().toString());
    						 statement.setString(3,comboBox_1.getSelectedItem().toString());
    					   statement.executeUpdate( );
     
    				   if(comboBox_1.getSelectedItem().toString()!=null)
    					   statement = connection.prepareStatement("UPDATE Liste SET Type=? WHERE IDClient=(SELECT IDClient FROM Client WHERE Nom=? AND Prenom=?)");
    					   statement.setString(1, comboBox_3.getSelectedItem().toString());
    					   statement.setString(2,comboBox.getSelectedItem().toString());
    						 statement.setString(3,comboBox_1.getSelectedItem().toString());
    					   statement.executeUpdate( );
     
    				  if(surf.getText()!=null)
    						   statement = connection.prepareStatement("UPDATE Liste SET Surface=?WHERE IDClient=(SELECT IDClient FROM Client WHERE Nom=? AND Prenom=?)");
    						   statement.setString(1, surf.getText());
    						   statement.setString(2,comboBox.getSelectedItem().toString());
    							 statement.setString(3,comboBox_1.getSelectedItem().toString());
    						   statement.executeUpdate( ); 
     
    				 if(comboBox_4.getSelectedItem().toString()!=null)
    							   statement = connection.prepareStatement("UPDATE Liste SET Etage=? WHERE IDClient=(SELECT IDClient FROM Client WHERE Nom=? AND Prenom=?)");
    							   statement.setString(1, comboBox_2.getSelectedItem().toString());
    							   statement.setString(2,comboBox.getSelectedItem().toString());
    								 statement.setString(3,comboBox_1.getSelectedItem().toString());
    							   statement.executeUpdate( );	 
    				 if(n.getText()!=null)
    								   statement = connection.prepareStatement("UPDATE Client SET N°_loge=? WHERE IDClient=(SELECT IDClient FROM Client WHERE Nom=? AND Prenom=?)");
    								   statement.setString(1, n.getText());
    								   statement.setString(2,comboBox.getSelectedItem().toString());
    									 statement.setString(3,comboBox_1.getSelectedItem().toString());
    								   statement.executeUpdate( );

    je veux faire un update de table Client Versement et Liste en une seule requête (la même colonne existe dans les 3 tables)

  2. #2
    Membre expérimenté
    Avatar de yotta
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Septembre 2006
    Messages
    1 088
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 088
    Points : 1 540
    Points
    1 540
    Par défaut
    Bonjour,
    Sans rentrer dans les détails, votre interrogation soulève deux problématiques :
    1) Mauvaise maîtrise du langage SQL
    2) Mauvaise maîtrise des bases de données relationnelles

    Une requête SQL Update peut s'adresser à plusieurs champs d'un même enregistrement ou de plusieurs. En d'autres termes, si vous avez trois champs à mettre à jour dans un enregistrement, inutile de faire une requête pour chaque.
    Premier exemple de simplification sur les deux premières requêtes :

    Avant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    1ère requête "UPDATE Client  SET Nom_projet=?  WHERE IDClient=(SELECT IDClient FROM Client WHERE Nom=? AND Prenom=?)"
     
    2nd requête "UPDATE Client SET prix_loge=? WHERE IDClient=(SELECT IDClient FROM Client WHERE Nom=? AND Prenom=?)
    Après :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Une seule requête "UPDATE Client SET prix_loge=?, Nom_projet=? WHERE IDClient=(SELECT IDClient FROM Client WHERE Nom=? AND Prenom=?"
     
    Il faut bien sûr modifier les statement.setString qui suivent !
    Ensuite, j'ai un peu de mal à comprendre votre raisonnement. C'est comme si vous pensiez qu'il faille pointer l'indexe primaire d'un enregistrement pour le mettre à jour. Comme vous récupérez cet indexe dans la même table, et que pour le trouver vous utilisez deux champs Nom et Prenom dans cette même table, il est inutile de passer par l'indexe. Vous pouvez vous contenter de mettre directement nom=? AND prenom=? dans la clause de votre requête. Cela donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Une seule requete "UPDATE Client SET prix_loge=?, Nom_projet=? WHERE Nom=? AND Prenom=?"
    Si vous appliquez ce principe à vos requêtes concernant Liste, on passe de quatre requête à une seule. Au final, rien que pour ces deux jeux de requêtes, on passe de six requêtes à deux.
    Je vous laisse le loisir de voir pour le reste.

    Maintenant, que fait-on pour passer de ce qui devrait se résumer à trois requêtes à une seule. Grâce à l'aspect relationnel des bases de données. C'est en effet cet aspect relationnel qui permet de créer des relations entre les tables. Peut importe quelque part où se trouvent ses tables. En langage SQL, pour utiliser cette capacité relationnelle, on utilise les requêtes Join. Dans votre cas, je ne peux que vous inviter à consulter notre ami Google avec pour seuls critères "sql update join".

    Qu'en pensez-vous ?
    Une technologie n'est récalcitrante que par ce qu'on ne la connait et/ou comprend pas, rarement par ce qu'elle est mal faite.
    Et pour cesser de subir une technologie récalcitrante, n'hésitez surtout pas à visiter les Guides/Faq du site !

    Voici une liste non exhaustive des tutoriels qui me sont le plus familiers :
    Tout sur Java, du débutant au pro : https://java.developpez.com/cours/
    Tout sur les réseaux : https://reseau.developpez.com/cours/
    Tout sur les systèmes d'exploitation : https://systeme.developpez.com/cours/
    Tout sur le matériel : https://hardware.developpez.com/cours/

  3. #3
    Membre du Club
    Femme Profil pro
    Ingénieur en Télécommunication
    Inscrit en
    Octobre 2017
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur en Télécommunication
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2017
    Messages : 121
    Points : 63
    Points
    63
    Par défaut
    Merci pour ces détails,
    PS: pour la condition WHERE j'utilisais avant Nom et Prenom puis je l'ai changé par l'index primaire mais c'est vraiment inutil.

  4. #4
    Membre du Club
    Femme Profil pro
    Ingénieur en Télécommunication
    Inscrit en
    Octobre 2017
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur en Télécommunication
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2017
    Messages : 121
    Points : 63
    Points
    63
    Par défaut
    Pour le UPdate de la même table depuis deux requêtes, je l'ai essayé avec une seule mais si je change pas tous les champs c'est à dire je laisse des textField vides, j'ai des valeurs null dans ma table. je l'ai changé par ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
     statement = connection.prepareStatement("UPDATE Versement  SET Nom_projet=?,N°_loge=?,prix_loge=?,Verse_total=?,Nom=?,Prenom=?  WHERE Nom=? ");
    					  statement.setString(1, comboBox_2.getSelectedItem().toString());
    					  statement.setString(2, n.getText()); 
    					  statement.setString(3, textField.getText()); 
    					  statement.setString(4, t1);
    					  statement.setString(5, nom.getText());
    					  statement.setString(6, prenom.getText());
    					  statement.setString(7, comboBox.getSelectedItem().toString());
    							statement.executeUpdate();
    					  	statement.close();
    				  	 statement = connection.prepareStatement("UPDATE Liste  SET Nom_projet=? ,Type=?,Etage=?,Surface=?,N°_loge=?,Bloc=?,prix_loge=?,Verse_restant=?,Nom=?,Prenom=?  WHERE Nom=? ");
    					  statement.setString(1, comboBox_2.getSelectedItem().toString());
    					  statement.setString(2, comboBox_3.getSelectedItem().toString());
    					  statement.setString(3, comboBox_4.getSelectedItem().toString());
    					  statement.setString(4, surf.getText());
    					  statement.setString(5, n.getText());
    					  statement.setString(6, idbloc.getText());
    					  statement.setString(7, textField.getText()); 
    					  statement.setString(8, t1); 
    					  statement.setString(9, nom.getText());
    					  statement.setString(10, prenom.getText());
    					  statement.setString(11, comboBox.getSelectedItem().toString());
    							statement.executeUpdate();
    					  	statement.close();
    					  	 statement = connection.prepareStatement("UPDATE Client  SET Nom_projet=? ,N°_loge=?, prix_loge=? ,Verse_restant=?,Nom=?,Prenom=? WHERE Nom=? ");
    						  statement.setString(1, comboBox_2.getSelectedItem().toString());
    						  statement.setString(2, n.getText()); 
    						  statement.setString(3, textField.getText());
    						  statement.setString(4, t1);
    						  statement.setString(5, nom.getText());
    						  statement.setString(6, prenom.getText());
    						  statement.setString(7, comboBox.getSelectedItem().toString());
    								statement.executeUpdate();
    								JOptionPane.showMessageDialog(null, "Modifié avec succé");
    						  	statement.close();
    .avant cette requête Je remplie les textFields par une requête SELECT.

  5. #5
    Membre expérimenté
    Avatar de yotta
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Septembre 2006
    Messages
    1 088
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 088
    Points : 1 540
    Points
    1 540
    Par défaut
    Bonsoir,
    Je vous avoues que je ne comprends plus très bien vos extraits de code.
    Dans votre premier post, vous faisiez deux requêtes pour modifier deux champs différents d'un même enregistrement.
    Maintenant, vous faites une requête qui modifie tous les enregistrements, alors qu'il n'y en a que quelques-uns à modifier ?! Qui plus est, avec ce que je me permets de qualifier d'aberration, ou d'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "UPDATE Versement  SET Nom_projet=?,N°_loge=?,prix_loge=?,Verse_total=?,Nom=?,Prenom=?  WHERE Nom=? "
    Cette requête comporte une aberration, et ne peut pas fonctionner correctement.
    Le champs 'Nom' du bloc SET correspond à nom.getText(), et celui de la clause WHERE, à comboBox.getSelectedItem().toString() alors que dans cette requête, le champs Nom du bloc SET et le champs Nom de la clause WHERE sont tous deux le même et unique champ Nom de votre table Versements ???

    Si dans votre requête unique vous aviez des valeurs 'null' positionnés là où les champs de saisie n'ont pas été renseignés, c'est parfaitement normale, puisque vous ne testez rien dans votre code. En clair, si un TextField ne contient pas de texte, l'invocation de sa méthode getText() renverra null. Comme dans votre code vous faites un "setString(x, textField.getText())" sans conditions, c'est comme si vous écriviez "setString(x, null)", donc, c'est normal.
    Ce qu'il faut comprendre, c'est que dans le bloc SET ne doivent être présent que les champs à modifier. Ceux qui ne sont pas à modifier n'ont rien à y faire.
    Vous l'avez compris, dans ce cas, l'utilisation d'un PreparedStatement n'est pas approprié.
    Un simple Statement fera l'affaire.
    Lors de l'appuies sur le bouton "Exécuter", vous commencez par construire la chaîne SQL finale en fonction des champs de saisi renseignés.
    Il ne restera plus qu'à invoquer la méthode executeUpdate du Statement avec cette requête construite dynamiquement qui ne contiendra que les champs à modifier et ne mettra plus les autres à 'null'.

    Dernière chose, si je puis me permettre. Votre interrogation est plus à catégoriser dans ce qui concerne les bases de données et le langage SQL que dans la catégorie Java, vous ne croyez pas ?
    En déplaçant ce post dans le bon Forum, vous aurez plus de chance de capter l’intérêt d'un spécialiste qui saura probablement mieux vous guider que moi.
    Et qu'avez-vous trouver au sujet des requêtes "sql update join" ?
    Une technologie n'est récalcitrante que par ce qu'on ne la connait et/ou comprend pas, rarement par ce qu'elle est mal faite.
    Et pour cesser de subir une technologie récalcitrante, n'hésitez surtout pas à visiter les Guides/Faq du site !

    Voici une liste non exhaustive des tutoriels qui me sont le plus familiers :
    Tout sur Java, du débutant au pro : https://java.developpez.com/cours/
    Tout sur les réseaux : https://reseau.developpez.com/cours/
    Tout sur les systèmes d'exploitation : https://systeme.developpez.com/cours/
    Tout sur le matériel : https://hardware.developpez.com/cours/

  6. #6
    Membre du Club
    Femme Profil pro
    Ingénieur en Télécommunication
    Inscrit en
    Octobre 2017
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur en Télécommunication
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2017
    Messages : 121
    Points : 63
    Points
    63
    Par défaut
    Bonsoir,
    Merci pour vos messages.
    Concernat la requête de Update, avant d'arriver à ce code j'ai fais plusieurs requêtes update (dans un même boutton)chacune modifie un champ avec des conditions IF
    exp: if(comboBox.getSelectedItem()!=null){ requête update}
    if(prix.getText()!=null){ requête update}
    lorsque je change un seul champ, les autres champs deviennnent nulls(dans ma BDD).

  7. #7
    Membre du Club
    Femme Profil pro
    Ingénieur en Télécommunication
    Inscrit en
    Octobre 2017
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur en Télécommunication
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2017
    Messages : 121
    Points : 63
    Points
    63
    Par défaut
    pour la jointure voilà ce que j'ai fait mais j'ai une erreur :[SQLITE_ERROR] SQL error or missing database (near "INNER": syntax error)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    statement = connection.prepareStatement("UPDATE Versement INNER JOIN Liste  ON Versement.Nom=Liste.Nom SET Nom_projet=?,N°_loge=?,prix_loge=?,Verse_restant=?,Nom=?,Prenom=?  WHERE Versement.Nom=? ");
    					  statement.setString(1, comboBox_2.getSelectedItem().toString());
    					  statement.setString(2, n.getText()); 
    					  statement.setString(3, textField.getText()); 
    					  statement.setString(4, t1);
    					  statement.setString(5, nom.getText());
    					  statement.setString(6, prenom.getText());
    					  statement.setString(7, comboBox.getSelectedItem().toString());
    							statement.executeUpdate();
    					  	statement.close();

  8. #8
    Membre expérimenté
    Avatar de yotta
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Septembre 2006
    Messages
    1 088
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 088
    Points : 1 540
    Points
    1 540
    Par défaut
    Bonsoir,
    Je penses que vous allez beaucoup trop vite. Un peu comme si vous aviez débuté votre développement sans avoir analyser les choses, en partant du dessin d'une fenêtre sur laquelle vous avez posé les composants qui vous semblaient utile pour faire une première modification, puis vous avez écrit votre code autour. Ensuite, vous avez voulu aller plus loin et vous avez ajouté des champs de saisie pour faire d'autres modifications. J'ai aussi le sentiment que la base de données concernée a été architecturée de la même manière, au fur et à mesure de l'avancement de votre réflexion.
    Attention ! Je ne me permettrai pas de critiquer cette méthode de travaille. Vous faites comme bon vous semble. Personnellement, je ne fais pas beaucoup d'analyse, mais un minimum quand même. En clair, avant d'écrire la première ligne de code d'un nouveau projet, je sais déjà assez précisément comment je vais faire, quelle technologie je vais utiliser, etc. Et si parmi ces technologies il en est une que je ne connais pas, je commence par l'étudier et la manipuler avant de démarrer mon projet. Et dans le cas de la conception d'une base de données, c'est encore plus critique. Une base de données doit être bien réfléchie avant même d'y mettre des données. Les tables doivent être clairement définie à l'avance, leurs relations aussi. Tout doit être en place avant de démarrer l'écriture de code.

    Quoi qu'il en soit, vous n'avez en plus pas de chances. Je n'avais pas encore capté que vous travaillez avec SQLite. Hors, SQLite ne supporte pas les jointures dans les requêtes update, il va falloir faire autrement.
    Vous comprenez déjà mieux pourquoi la réflexion doit se faire en amont. Si ça avait été le cas, cette erreur ne vous aurait pas surprise car vous sauriez déjà que SQLite ne supporte pas les jointure dans ses requêtes update.

    Pour finir, vous conviendrez que votre problème ne relève pas de ma compétence. Moi, je ne peux vous aider qu'à comprendre une technique, une fonction qui vous échappe mais pas plusieurs concepts complets. Donc, en espérant ne pas vous blesser je vais en rester là. Je vous souhaite bon courage et bonne continuation.
    Une technologie n'est récalcitrante que par ce qu'on ne la connait et/ou comprend pas, rarement par ce qu'elle est mal faite.
    Et pour cesser de subir une technologie récalcitrante, n'hésitez surtout pas à visiter les Guides/Faq du site !

    Voici une liste non exhaustive des tutoriels qui me sont le plus familiers :
    Tout sur Java, du débutant au pro : https://java.developpez.com/cours/
    Tout sur les réseaux : https://reseau.developpez.com/cours/
    Tout sur les systèmes d'exploitation : https://systeme.developpez.com/cours/
    Tout sur le matériel : https://hardware.developpez.com/cours/

  9. #9
    Membre du Club
    Femme Profil pro
    Ingénieur en Télécommunication
    Inscrit en
    Octobre 2017
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur en Télécommunication
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2017
    Messages : 121
    Points : 63
    Points
    63
    Par défaut
    Je viens de débuter dans la programmation, je ne connais pas grande chose et je pense que en travaillant sur un projet celà me permettrras d'apprendre.
    Merci pour vos conseils.

  10. #10
    Membre expérimenté
    Avatar de yotta
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Septembre 2006
    Messages
    1 088
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 088
    Points : 1 540
    Points
    1 540
    Par défaut
    Je suis ravis de voir que vous avez bien pris ma réflexion.
    En effet, lorsque l'on débute, on ne sait jamais vraiment par quel bout commencer, et on est fatalement tenté de se dire, on va faire ça sur le tas. Malheureusement, la programmation informatique est une discipline qui ne se prête que très mal à ce principe. Ce n'est pas pour rien que les professionnels de l'ingénierie informatique ont mis des années a mettre au point des méthodes d'analyse comme MERISE ou UML. Ce ne sont pas des techniques de développement, ce sont des méthodes de réflexion dont l'objectif est de vous aider à passer de la réalité au numérique. Il faut être très pragmatique, avoir une bonne dose de logique, un gros capital de patience et du temps. Ça paraît crétin de le dire ainsi, mais la maîtrise de l'anglais technique est un bonus non négligeable.

    Je vous propose de commencer par regarder de plus près ce qu'est une base de données relationnelle, comment cela fonctionne, et comment on conçoit une base de données. Pour cela, je vous ai trouvé un petit cours pas mal fait qui devrait vous convenir : Conception d'une base de données

    Ensuite, il vous faut de quoi manipuler facilement votre base de données sans être obligé d'écrire le moindre code. Pour tout ce qui vous concerne, l'idéal est de vous préparer un environnement d'étude construit autour d'un WAMP/LAMP le tout sur une machine virtuelle. Petite précision, WAMP signifie, Windows Apache MySQL Php, et LAMP signifie Linux Apache MySQL Php. Ce sont des ensembles de packaging logiciels qui s'installent en une seule manipulation et qui mettent à votre disposition une base de données pré configurée pour travailler de concert avec un serveur Web Apache en s'appuyant sur le langage php. Après avoir installé cet ensemble logiciel, il ne reste plus qu'à ajouter un outil d'administration de la base de données MySQL. Là, je vous propose "Phpmyadmin". Un outil du type application Web simple et puissant qui permet de créer des bases de données des tables des utilisateurs, de tester des requêtes et plein d'autres choses, tout cela à travers une interface intuitive relativement bien faite. Ne vous encombrez pas tout de suite avec Java.

    Lorsque vous penserez avoir compris l'essentiel au niveau des bases de données, vous pourrez alors vous concentrer sur l'exploitation de ces dernières à partir de Java. A ce moment là, il est aussi préférable de mettre en place sur sa plateforme d'étude un environnement de développement adapté. De mon côté, je n'en maîtrise qu'un seul, NetBeans. Une solution Oracle gratuite et complète. C'est ce que l'on appelle un EDI, un programme fait pour créer des programmes. Il peut s'adapter à plusieurs langages mais est particulièrement dédié au Java. En générale, les professionnels lui préfèrent Eclipse, de Eclipse fondation. Ils se ressemblent beaucoup d'aspect d'ailleurs. Ce sont des environnements WYSIWYG (What You See Is What You Give). En d'autre termes, on y dessine littéralement ses fenêtres à l'aide de la souris et d'outils graphiques. Cela évite pour ceux qui n'utilisent pas d'EDI de dessiner sur papier pour déterminer taille et position des éléments et ensuite coder tout ça à la main.

    En résumé :
    * Une machine virtuelle avec n'importe quel OS sous la main via VirtualBox ou VmWare, peu importe
    * WAMP/LAMP pour la partie Base de données, diffusion HTTP
    * Phpmyadmin pour l'administration de la base de données MySQL
    * Un tutoriel exemple qui propose sous forme de scénario la réalisation d'un projet test complet genre gestion de carnet d'adresse, gestion de stock ou autre.
    * Trois mois de vacances
    * 2 boîtes d'aspirines

    Si vous arrivez au bout de cette première étape, vous aurez alors à votre disposition un environnement d'étude fonctionnel qui vous permettra de créer des bases de données et de jouer avec.

    Ensuite vous pourrez avec une telle préparation passer à Java et découvrir les solutions que ce langage propose en matière de manipulation de bases de données. Là aussi il y a de quoi s'occuper quelque temps.

    Et c'est seulement après tout cela que vous pourrez vous lancer dans votre premier projet, bien armé et bien préparé pour y prendre plaisir. Sans tout cela, vous allez juste vous prendre la tête et trouver tout cela inutilement compliqué. Bien évidemment, vous pouvez toujours compter sur les Forum comme Developpez.net sur lequel vous trouverez facilement une aide précise.

    Sur ce, je vous souhaites de belles fêtes de fin d'année et je l'espère, un franc succès dans votre démarche.
    Une technologie n'est récalcitrante que par ce qu'on ne la connait et/ou comprend pas, rarement par ce qu'elle est mal faite.
    Et pour cesser de subir une technologie récalcitrante, n'hésitez surtout pas à visiter les Guides/Faq du site !

    Voici une liste non exhaustive des tutoriels qui me sont le plus familiers :
    Tout sur Java, du débutant au pro : https://java.developpez.com/cours/
    Tout sur les réseaux : https://reseau.developpez.com/cours/
    Tout sur les systèmes d'exploitation : https://systeme.developpez.com/cours/
    Tout sur le matériel : https://hardware.developpez.com/cours/

  11. #11
    Membre du Club
    Femme Profil pro
    Ingénieur en Télécommunication
    Inscrit en
    Octobre 2017
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur en Télécommunication
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2017
    Messages : 121
    Points : 63
    Points
    63
    Par défaut
    Je suis très reconnaissante pour vos conseils et votre aide. Je vais faire mon maximum pour les suivre(vu que j'ai pas de patience ).
    Ps: j'ai fini mon projet et il fonctionne bien mais en lisant votre massage, je ne sais pas si je peux compter sur la conception que j'ai fait car vous me donner l'impression que je suis loin de la programmation.
    Bonne soirée

Discussions similaires

  1. [AC-2013] requête update plusieurs tables
    Par John Parker dans le forum Requêtes et SQL.
    Réponses: 11
    Dernier message: 27/10/2015, 12h53
  2. update plusieur table
    Par arckaniann dans le forum Langage
    Réponses: 1
    Dernier message: 08/01/2012, 02h28
  3. UPDATE plusieurs tables
    Par wclef dans le forum SQL
    Réponses: 13
    Dernier message: 05/03/2010, 11h01
  4. UPDATE plusieurs tables
    Par billoum dans le forum Langage SQL
    Réponses: 3
    Dernier message: 09/08/2006, 13h27
  5. update sur plusieurs tables
    Par Jean-Matt dans le forum Langage SQL
    Réponses: 14
    Dernier message: 04/01/2006, 14h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo