combiner java et sql

combiner java et sql - Java - Programmation

Marsh Posté le 18-07-2003 à 21:26:08    

Bonjour,  
Je voudrais savoir comment combiner Java et Sql.
Donc si vous pouvez m'expliquer en completant l'exemple que j ai pris ci dessous...
J'y ai déja mis ce que je croyais etre le code sql correspondant!
 
 
Je voudrais faire par exemple:  
 
 public void creeTable() {
   /*  
 CREATE TABLE ARTICLES (
          ID_ARTICLE INTEGER,  
          NOM        CHARACTER (25),
          Qtt        INTEGER
        );
   */  
 }
 
 public void ajouterEnreg(int id_article, String nom, int qtt) {
   /*  
 INSERT INTO ARTICLES VALUES (id_article,nom,qtt);
   */
 }
 
 
 /* Ce qui suit me permettrais de Parcourir les enregistrements selon uin certain critère
    par exemple par qtt = 5
 */
 public void selectionnerPartie(int qtt_a_selectionner) {
   /*
 SELECT * FROM ARTICLES WHERE (Qtt = qtt_a_selectionner);  
   */
 }
 
 
 public Enreg nextElem() { en supposant que j ai une class Enreg conteant les champs (int, String, int)
   return ???; //L enreg suivant correspondant à la selection  
 }
 
 
Un grand merci!!!!
 
Ben

Reply

Marsh Posté le 18-07-2003 à 21:26:08   

Reply

Marsh Posté le 18-07-2003 à 21:30:00    

http://java.sun.com/docs/books/tut [...] index.html


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 19-07-2003 à 23:54:53    

The big ben a écrit :

Bonjour,  
Je voudrais savoir comment combiner Java et Sql.


Il a plussieurs techniques, mais dans toutes, tu auras besoins d'aide de la part de composants externes.
 
Les entity beans dont la persistance est gérée soit par toi, soit par le conteneur du bean ; Java Data Object, dont je ne sais rien.
 
Le bouquin "UML et les Design patterns" (C. Larman) en parle à la fin et il y a de o'Reilly sur JDO.

Reply

Marsh Posté le 20-07-2003 à 12:03:45    


http://ivan.la-offteam.com/benou/benou_buzz.gif
 
si le monsieur connait pas JDBC, vaut mieux pas lui conseiller pas de faire des entity bean ou du JDO ...
faut commencer par le commencement ...


Message édité par benou le 20-07-2003 à 20:33:05

---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 20-07-2003 à 12:48:27    

Comme Harkonnen, va voir ce document...
 
j'ai dû faire une appli discutant avec une base mysql et j'ai été étonné de voir que le code pour faire les requêtes était très simple à écrire.
 
le bon driver, les bons droits d'accès et zou! :)


---------------
A straight line is a special case of a curve. It's a curve which is uncurved. -- Susskind.
Reply

Marsh Posté le 21-07-2003 à 02:01:30    

benou a écrit :


faut commencer par le commencement ...

chacun voit le comencement où il veut, et il ne me parraît pas incohérent d'écrire ses beans avant de s'occuper de leur persistance.

Reply

Marsh Posté le 21-07-2003 à 08:19:11    

tu parlais pas de bean, mais d'EJB et de JDO ...


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 21-07-2003 à 08:46:52    

nraynaud, toujours fidèle à lui même  :sarcastic:. Un conseil : ne soit jamais prof, ou il y aura des suicides dans tes classes.

Reply

Marsh Posté le 21-07-2003 à 15:25:50    

Un peu de pub:
http://sqlsphere.free.fr/
C'est un générateur automatique de code Java d'accés à un SGBD.
Tu peut t'inspirer du code généré pour ton solutionner ton probleme.


---------------
Light is right
Reply

Marsh Posté le 29-01-2004 à 16:18:21    

je viens finir mon tp (étudiant rulez)... il est po tt a fait a point mais ca peut t'aider

Code :
  1. import java.sql.*;
  2. public class OutilsBdd {
  3. Connection con;
  4. Statement stmt;
  5. public OutilsBdd () {}
  6. public OutilsBdd (String dbName) {
  7.  String url = "jdbc:odbc:"+dbName;
  8.  connecter(url);
  9. }
  10. public boolean connecter(String lien) {
  11.  try {
  12.   Class.forName("sun.jdbc.odbc.JdbcOdbcDriver" );
  13.  }
  14.  catch(java.lang.ClassNotFoundException e) {
  15.   System.err.print("ClassNotFoundException: " );
  16.   System.err.println(e.getMessage());
  17.  }
  18.  try {
  19.   con = DriverManager.getConnection(lien);
  20.   stmt = con.createStatement(); //"socket"    
  21.  }
  22.  catch(SQLException e) {
  23.   System.err.println(e);
  24.   return false;
  25.  }
  26.  return true;
  27. }
  28. public String lister(String table) {
  29.  String res = "";
  30.  try {
  31.   ResultSet rs = stmt.executeQuery("select * from "+table);
  32.   while(rs.next()) {
  33.    String n = rs.getString(1);
  34.    String p = rs.getString(2);
  35.    int a = rs.getInt(3);
  36.    res += n+" "+p+" "+a+"\n";
  37.   }
  38.  }
  39.  catch(SQLException e) {
  40.   System.err.println(e);
  41.  }
  42.  return res;
  43. }
  44. public String compter(String table) {
  45.  try {
  46.   ResultSet rs = stmt.executeQuery("select count(*) from "+table);
  47.   rs.next();
  48.   return ("Nombre de tuples de "+table+" : "+rs.getInt(1));
  49.  }
  50.  catch(SQLException e) {
  51.   System.err.println(e);
  52.  }
  53.  return "erreur";
  54. }
  55. public String decrire(String table) {
  56.  String res="";
  57.  try {
  58.   ResultSet rs = stmt.executeQuery("select * from "+table);
  59.   ResultSetMetaData rsData = rs.getMetaData();
  60.   int nbCol = rsData.getColumnCount();
  61.   res = "Description de "+table+"Nb Col : "+nbCol+"\n";
  62.   for(int i=1 ; i<=nbCol ; i++) {
  63.    res += "Col "+i+" : "+rsData.getColumnName(i)+" Type : "+rsData.getColumnTypeName(i)+"\n";;
  64.   }
  65.  }
  66.  catch(SQLException e) {
  67.   System.err.println(e);
  68.  }
  69.  return res;
  70. }
  71. public void fermer() {
  72.  try {
  73.   stmt.close();
  74.   con.close();
  75.  }
  76.  catch(SQLException e) {
  77.   System.err.println(e);
  78.  }
  79. }
  80. }


 
a bon entendeur

Reply

Marsh Posté le 29-01-2004 à 16:18:21   

Reply

Marsh Posté le 29-01-2004 à 16:35:05    

3xc4l18ur a écrit :

je viens finir mon tp (étudiant rulez)... il est po tt a fait a point mais ca peut t'aider


 
en effet :o
 
Par exemple dans ta méthode connecter() si tu ne trouve pas le driver tu catche l'erreur et tu continues. Tu créer un statement et tu n'en fais rien.
 
Y a une raison à ca?

Reply

Marsh Posté le 29-01-2004 à 16:40:48    

DarkLord a écrit :

Y a une raison à ca?


oui : à la fac on apprend pas à quoi servent les exceptions => les étudiants s'arrangent pour les éclipser à coup de catch printlnés, de catch printstacktracés pour les meilleurs d'entre-eux et de catch vide pour les cancres :o
 
moi ma spécialité c'était de rebalancer une Error  [:kurrupt]


Message édité par benou le 29-01-2004 à 16:41:36

---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 29-01-2004 à 16:49:49    

benou a écrit :


oui : à la fac on apprend pas à quoi servent les exceptions => les étudiants s'arrangent pour les éclipser à coup de catch printlnés, de catch printstacktracés pour les meilleurs d'entre-eux et de catch vide pour les cancres :o
 
moi ma spécialité c'était de rebalancer une Error  [:kurrupt]


 
bin faudra un peu revoir ta spécialité alors, parce que c'est pas vraiment ça.  
 
Et BTW, le fait qu'on ne t'apprenne pas qqch à la fac ne t'empeche pas de te renseigner un minimum sur le sujet ... A moins que la fac soit plus mouton-staÿle que je ne le pense.


Message édité par darklord le 29-01-2004 à 16:50:15
Reply

Marsh Posté le 29-01-2004 à 17:00:06    

DarkLord a écrit :


bin faudra un peu revoir ta spécialité alors, parce que c'est pas vraiment ça.  


ben bien sûr ... c'est juste que c'était comme ca que je faisais parce que j'étais étudiant à l'époque, qu'on ne m'avais pas appris à correctement les gérer [:spamafote]
 


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 29-01-2004 à 23:20:19    

benou a écrit :


ben bien sûr ... c'est juste que c'était comme ca que je faisais parce que j'étais étudiant à l'époque, qu'on ne m'avais pas appris à correctement les gérer [:spamafote]
 
 


 
putain je viens de capter que c'était toi qui a répondu. Je pensais que c'était 3xc4l18ur d'où mon "faudrait revoir ta spécialité" [:joce]
 
désolé :D

Reply

Marsh Posté le 29-01-2004 à 23:23:22    


[:kiki]
 
[:ddr555]


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Sujets relatifs:

Leave a Replay

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