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 : connexion BD et un button [ Algorithme / Autre ] (ilounga2002)

lundi 28 juillet 2008 à 15:06:23 | connexion BD et un button

ilounga2002

Salut tous.
j ai etabli un programme en java avec quatre champ de text (JTextField) et une base de donn¨¦e access mais cliquant sur le button ajout pour ajouter le nom, prenom,adresse,moyenne ; il me genere l erreur suivante:SQL Error:java.sql.SQLException: [Microsoft][Pilote ODBC Microsoft Access] Trop peu de paramèŒres. 4 attendu. -3010 07001

Je serais content si quelquun essaie de m aider.
Merci d avance

import java.awt.*;
import java.io.*;
import java.awt.event.*;
import javax.swing.*;
import java.sql.*;
public class ajout1 extends JFrame implements ActionListener{
ResultSet resultset;
MenuBar m11;
Menu m21;
MenuItem mi11;
MenuItem mi21;
JTextField ch1 = new JTextField(12);
JButton b2 = new JButton("Ajouter");
JTextField ch2 = new JTextField(12);
JLabel nom = new JLabel("Nom");
JTextField ch3 = new JTextField(12);
JLabel prenom = new JLabel("prenom");
JTextField ch4 = new JTextField(12);
JLabel adresse = new JLabel("adresse");
JLabel moyenne = new JLabel("moyenne");

public ajout1(){
super("Ajout");
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
setSize(350,350);
JPanel pane = new JPanel();

m11 = new MenuBar();
m21= new Menu("Fichier");
mi11 = new MenuItem("Nouveau");
mi21 = new MenuItem("Ajout");
mi11.addActionListener(this);
mi11.setShortcut(new MenuShortcut(KeyEvent.VK_O));
m11.add(m21);
m21.add(mi11);
m21.addSeparator();
pane.add(ch1);
m21.add(mi21);
b2.addActionListener(this);
    b2.setText("Ajouter");
this.add(b2);
pane.add(b2);
mi21.addActionListener(this);
setMenuBar(m11);
pane.add(nom);
pane.add(ch2);
pane.add(prenom);
pane.add(ch3);
pane.add(adresse);
pane.add(ch4);
pane.add(moyenne);


setContentPane(pane);

}
public static void main(String[]arguments){
ajout1 st1 = new ajout1();
st1.setVisible(true);
}
public void actionPerformed(ActionEvent evt){


Object Source = evt.getSource();
if(Source == b2){
System.out.println("Teste ");
insertion();

}

}
private void insertion() {

String data ="jdbc:odbc:vraiconnexion";
try {
String prenom,nom,adresse,moyenne;
prenom = ch1.getText();
nom = ch2.getText();
adresse = ch3.getText();
moyenne = ch4.getText();
Connection conn = DriverManager.getConnection(data);
Statement st = conn.createStatement();
st.executeUpdate("INSERT INTO Table1 VALUES ("+ nom +"," + prenom+ "," + adresse + "," + moyenne + ")");
st.close();
  
}
catch(SQLException s){

System.out.println("SQL Error:" + s.toString() +" "

+ s.getErrorCode() + " " + s.getSQLState());

}catch (Exception e){

System.out.println("Error: " + e.toString() + e.getMessage());
}
}

}

mardi 29 juillet 2008 à 03:12:03 | Re : connexion BD et un button

jiidou

J'espere k'il  soit  une aide qui te poussera  de rechercher avant de poser ce genre de question  bien plus qu'elle soit utile
(Tjrs meme remarque : les utilisateurs de ce forums le rend  un espace passsif  où la redendance perssiste  , l'ambiguité des qustions , des problèmes archaique. )


Pour le code je sais pas ;est ce vraimant le problème du driver que tu as ;(je pense que la requetecontien aussi des erreurs de types )
//********
private void insertion( ) {
String data ="jdbc:odbc:vraiconnexion";
String NomDriver = sun.jdbc.odbc.JdbcOdbcDriver
try {
String prenom,nom,adresse,moyenne;
...
Class.forName(NomDriver);

Connection conn = DriverManager.getConnection(data);
Statement st = conn.createStatement();
st.executeUpdate("INSERT INTO Table1 VALUES ('"+ nom +"',
' " + prenom+ "','" + adresse + " ' ," + moyenne + ")");
st.close();
 }catch(SQLException s){
....
}catch (Exception e){
...
}
}
///**********
Bon courage

mercredi 30 juillet 2008 à 11:51:55 | Re : connexion BD et un button

ilounga2002

Merci jiidou

Je te remercie du temps que tu as puis me consacrer  à me repondre.Je compte aller verifier ce doce sur ma machine.
Merci pour tout.

samedi 2 août 2008 à 19:52:45 | Re : connexion BD et un button

ilounga2002

Salut jiidou
J'ai essaie ce que vous m'avais dit de faire mais sans succés.Je vais vous expliquer le vif du sujet:

Au effet, j'ai deux classes, la première est la classe de la connexion qui marche sans probléme, dont voici le code:

import java.sql.*;

public class connexion{
 
public static void main(String[] arguments){

  String data ="jdbc:odbc:mabase3";

  try{

   Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
   Connection conn = DriverManager.getConnection(data, "", "");
   Statement st = conn.createStatement();
   ResultSet rec = st.executeQuery("select * from Table3");
   System.out.println("Les nom de ma famille");
   while(rec.next()){
   System.out.println(rec.getString(1) + "\t"

   + rec.getString(2) + "\t"

   + rec.getString(3) + "\t"

   + rec.getString(4));
      }
   st.close();
     }catch(SQLException s){

   System.out.println("SQL Error:" + s.toString() +" "

   + s.getErrorCode() + " " + s.getSQLState());

      }catch (Exception e){
  
   System.out.println("Error: " + e.toString() + e.getMessage());
   
           
     
}
   }

}

La deuxième est classe dont j'ai des champs de texte (JTextField) dont voici le code:

Mon problème est le suivant:
import java.awt.*;
import java.io.*;
import java.awt.event.*;
import javax.swing.*;
import java.sql.*;
public class ajout1 extends JFrame implements ActionListener{
 ResultSet rec;
 MenuBar m11;
 Menu m21;
 JTextField ch1 = new JTextField(12);
 JButton b2 = new JButton("Ajouter");
 JTextField ch2 = new JTextField(12);
 JLabel nom = new JLabel("Nom");
 JTextField ch3 = new JTextField(12);
 JLabel prenom = new JLabel("prenom");
 JTextField ch4 = new JTextField(12);
 JLabel adresse = new JLabel("adresse");
 JLabel moyenne = new JLabel("moyenne");
 
 public ajout1(){
  super("Ajout");
  setDefaultCloseOperation(DISPOSE_ON_CLOSE);
  setSize(350,350);
  JPanel pane = new JPanel();
  
  m11 = new MenuBar();
  m21= new Menu("Fichier");
  m11.add(m21);
  
  m21.addSeparator();
  pane.add(ch1);
  
  b2.addActionListener(this);
     b2.setText("Ajouter");
  this.add(b2);
  pane.add(b2);
  
  setMenuBar(m11);
  pane.add(nom);
  pane.add(ch2);
  pane.add(prenom);
  pane.add(ch3);
  pane.add(adresse);
  pane.add(ch4);
  pane.add(moyenne);
  

  setContentPane(pane);
  
 }
public static void main(String[]arguments){
 ajout1 st1 = new ajout1();
 st1.setVisible(true);
}
public void actionPerformed(ActionEvent evt){
 
 
 Object Source = evt.getSource();
 if(Source == b2){
  System.out.println("Teste ");
  insertion();
  
  }  
 
}
private void insertion() {
 
 
 try {
  String data ="jdbc:odbc:mabase3";
  
  String nom = ch1.getText();
  String prenom = ch2.getText();
  String adresse = ch3.getText();
  String moyenne = ch4.getText();
  Connection conn = DriverManager.getConnection(data);
  Statement st = conn.createStatement();
  st.executeUpdate("INSERT INTO Table3 VALUES ("+ nom  +"," + prenom+ "," + adresse + "," + moyenne + ")");
  
  st.close();
   
  }
 catch(SQLException s){

  System.out.println("SQL Error:" + s.toString() +" "

  + s.getErrorCode() + " " + s.getSQLState());

     }catch (Exception e){
 
  System.out.println("Error: " + e.toString() + e.getMessage());
     }
  }

 }

Mais quand j'exécute ma classe connexion, elle affiche le contenu par contre quand j'exécute la seconde classe, elle s'affiche et quand je saisie les caractères intègres est à dire (1222), ces caractères vont directement dans la base de donnée (SQL Server 2000) mais par contre quand je saisie les caractères String (nom, prenom, adresse;moyenne) j'ai des erreurs de compilation.
C'est  ça mon probléme.
Execuses moi si vous pouvez m'aider je serais trés content.
Merci d'avance.

 

 


samedi 2 août 2008 à 22:37:09 | Re : connexion BD et un button

jiidou

Réponse acceptée !
salut
je pense ke tu n'as pas remarqué la ligne suivante (où j'ai mis les modifications en rouge  et j'ai deja mentionné ke tu as des erreurs de compatibilité de type) :

st.executeUpdate("INSERT INTO Table1 VALUES ('"+ nom +"','" + prenom+ "','" + adresse + "'," + moyenne + ")");

NB: Tous ce qui est de  type String dans la base de donneés tu le met entre ' ' dans ta requête ;

Bon courage

lundi 4 août 2008 à 13:08:36 | Re : connexion BD et un button

ilounga2002

Réponse acceptée !
salut
Je suis trés content que tu m'aie aider. Merci encore une fois de plus
et bon courage.

a+

mercredi 6 août 2008 à 21:30:43 | Re : connexion BD et un button

ilounga2002

Salut jiidou
Finalement le programme a été compiler sans probléme.Merci pour tes conseils.
Mais il un petit probléme,je m'arrive pas à vider mes JTextField une fois les mons ajouter.
Comment je vais m'y prendre? Quel commande je vais utiliser pour celà?
Merci d'avance pour ça?

lundi 11 août 2008 à 17:25:59 | Re : connexion BD et un button

ilounga2002

Salut à tous
Voici mon code de connexion?
import java.sql.*;

public class CoalTotal {
 
public static void main(String[] arguments){

  String data ="jdbc:odbc:mabase3";

  try{

   Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
   Connection conn = DriverManager.getConnection(data, "", "");
   Statement st = conn.createStatement();
   ResultSet rec = st.executeQuery("select * from Table3");
   System.out.println("Les nom de ma famille");
   while(rec.next()){
   System.out.println(rec.getString(1) + "\t"

   + rec.getString(2) + "\t"

   + rec.getString(3) + "\t"

   + rec.getString(4));
      }
   st.close();
     }catch(SQLException s){

   System.out.println("SQL Error:" + s.toString() +" "

   + s.getErrorCode() + " " + s.getSQLState());

      }catch (Exception e){
  
   System.out.println("Error: " + e.toString() + e.getMessage());
   
           
     
}
   }

}

J'ai un probléme avec ce dernier car je n'arrive pas à afficher le contenu de ma base de donnée avec JTable, si quelqu'un à une idée, je lui démande de m'aider s'il vous plait.
Merci d'avance à vous




Cette discussion est classé dans : add, jlabel, jtextfield, prenom, pane


Répondre à ce message

Sujets en rapport avec ce message

bouton et fichier texte (urgent) [ par Bison_Ravi_33 ] Bonjout tout le monde...et bien c'est mon premier jour sur le forum, donc mon premier message...Je me suis lancé dans Java que depuis 6 jours et j'ai Problème avec SWING [ par ulysse00 ] salut voila mon code mais j'ai un problème avec les composants qui ne s'affiche pas ,je veux afficher au dessous de GridLayout jtextfield et jlabel av modification des enregistrement d'une table [ par paranouya ] bonjours;mon problem ent j'aimerais bien modifier les colonne d'une table déja  enregister dans labase de donnée mais j'arive pas à réuissir cette tac lire le contenu d'un JTextField à partir d'un autre JFrame [ par Meriem85 ] Bonsoir,Ds mon code je veux lire le contenu de JTextField d'un JFrame à partir d'un autre JFrame.Voici ma classe [B]InterfConf [/B]de laquelle je veux ANNULER, ou comment effacer des champs? [ par joshua91 ] Bonjour à tous.j'ai une JFrame contenant des JLabel et JTextField associés, ainsi que les JButton "VALIDER" et "ANNULER".le Bouton " ANNULER" a un éco ca dessine pas arghhhh !!! [ par niko29940242 ] bonsoir tou le mondeje pense qu'en lisant le titre vous avez compris quel estait mon pb, je n'arrive pas a dessiner dans un JPanel avec paint(Graphics affichage bouton + zone texte [ par ghofrane ] Bonjour,j'ai un fenetre dans laquelle je veux afficher 4 zones textes et 4 boutons.a chaque ligne se trouve une zone texte avec le bouton correspondan Si quelq'un sais comment je peux resoudre ca [ par amine1234Z ] Rebonjourcoller le code  et compilé le,jusq'au là tous marche bienmais a l'execution une erreur se produit//////////////////////////////////////////// Onglets et JTextArea [ par thunderbolt ] Bonjour à tous,étudiant en informatique depuis quelques années déjà, j'ai voulu me lancer au java.Pour cela j'ai eu l'idée de créer un logiciel de mes 2 BorderLayout + 1 image... ca fait trop pour moi :( [ par omcougar ] Bonjour,J'implore par avance le pardon de tous ceux qui vont trouver ma question stupide, mais j'ai beaucoup de mal à encpasuler les grids,panel,image


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,328 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é.