Erreur java

Fermé
omda2007 Messages postés 82 Date d'inscription jeudi 16 août 2007 Statut Membre Dernière intervention 19 mars 2012 - 5 juil. 2011 à 13:34
 Freedomsoul - 5 juil. 2011 à 14:05
Bonjour,

salut tt le monde alors la je suis entrain de developper une application graphique en java
j'utilise acces pour la base donnée


alors est ce quel qu'un peut me corriger cette partie de mon code.

la où j'appuit sur le boton valider je voudrau qu'une mise a jour se passe d'un champ champ puis je vais afficher la valeur de ce champ je trouve cette erreur:

ERREUR SQL = [Microsoft][Pilote ODBC Microsoft Access] Trop peu de paramètres. 1 attendu.



le code est :
ne soyez pas peur puisque la partie qui contient l'eereur n'est pas aussi longue
la partie qui m'interesse est celle entre les etoiles:

package com.imed;

import java.awt.Color;
import java.awt.EventQueue;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import javax.swing.DefaultComboBoxModel;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.border.EmptyBorder;

public class DemanConge extends JFrame {

/**
*
*/
private static final long serialVersionUID = 1L;
private JPanel contentPane;
public JTextField textField;
static int varS =0;
static int var1 =0;
//JLabel test;
static JComboBox comboBox;
static String sold;
static JLabel lblSolde;
static JLabel label_1;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
DemanConge frame = new DemanConge();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}

/**
* Create the frame.
*/



public int annuel(){
int x=0;
Connection maConnection = null;
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
System.out.println("pilote correctement chargé");
} catch (ClassNotFoundException e) {
System.out.println("Impossible de charger le pilote jdbc:odbc");
}
try {
maConnection = DriverManager.getConnection("jdbc:odbc:src","","");
Statement stmt = maConnection.createStatement();
ResultSet resultSet = stmt.executeQuery("SELECT * FROM employees where nom='"+sold+"'");
if (resultSet.next()) {
x = (resultSet.getInt(9));
} }
catch (SQLException ex) {
System.out.println("ERREUR SQL = " + ex.getMessage());
}return x ;
}


public int exceptionnel(){
int z=0;
Connection maConnection = null;
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
System.out.println("pilote correctement chargé");
} catch (ClassNotFoundException e) {
System.out.println("Impossible de charger le pilote jdbc:odbc");
}
try {
maConnection = DriverManager.getConnection("jdbc:odbc:src","","");
Statement stmt = maConnection.createStatement();
ResultSet resultSet = stmt.executeQuery("SELECT * FROM employees where nom='"+sold+"'");
if (resultSet.next()) {
z = (resultSet.getInt(10));
} }
catch (SQLException ex) {
System.out.println("ERREUR SQL = " + ex.getMessage());
}return z ;
}


public int maladie(){
int y=0;
Connection maConnection = null;
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
System.out.println("pilote correctement chargé");
} catch (ClassNotFoundException e) {
System.out.println("Impossible de charger le pilote jdbc:odbc");
}
try {
maConnection = DriverManager.getConnection("jdbc:odbc:src","","");
Statement stmt = maConnection.createStatement();
ResultSet resultSet = stmt.executeQuery("SELECT * FROM employees where nom='"+sold+"'");
if (resultSet.next()) {
y = (resultSet.getInt(11));
} }
catch (SQLException ex) {
System.out.println("ERREUR SQL = " + ex.getMessage());
}return y ;
}




public int resteSolde(){
int s=0;
Connection maConnection = null;
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
System.out.println("pilote correctement chargé");
} catch (ClassNotFoundException e) {
System.out.println("Impossible de charger le pilote jdbc:odbc");
}
try {
maConnection = DriverManager.getConnection("jdbc:odbc:src","","");
Statement stmt = maConnection.createStatement();
ResultSet resultSet = stmt.executeQuery("SELECT * FROM employees where nom='"+sold+"'");
if (resultSet.next()) {
s = (resultSet.getInt(9));
} }
catch (SQLException ex) {
System.out.println("ERREUR SQL = " + ex.getMessage());
}return s ;
}

public DemanConge() {
setBounds(100, 100, 398, 319);
contentPane = new JPanel();
contentPane.setBackground(Color.WHITE);
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);

comboBox = new JComboBox();
comboBox.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent arg0) {

if(comboBox.getSelectedIndex()==0){label_1.setText(""+annuel());}
if(comboBox.getSelectedIndex()==1){label_1.setText(""+exceptionnel());}
if(comboBox.getSelectedIndex()==2){label_1.setText(""+maladie());}

}
});




comboBox.setModel(new DefaultComboBoxModel(new String[] {"Annuel", "Exceptionnel", "Maladie" }));
comboBox.setBounds(169, 43, 144, 20);
contentPane.add(comboBox);

JLabel lblTypeConge = new JLabel("Type Conge :");
lblTypeConge.setFont(new Font("Tahoma", Font.PLAIN, 14));
lblTypeConge.setBounds(34, 41, 86, 20);
contentPane.add(lblTypeConge);

JLabel lblNewLabel = new JLabel("Solde :");
lblNewLabel.setFont(new Font("Tahoma", Font.PLAIN, 14));
lblNewLabel.setBounds(34, 84, 86, 20);
contentPane.add(lblNewLabel);

JLabel lblDd = new JLabel("Je Demande :");
lblDd.setFont(new Font("Tahoma", Font.PLAIN, 14));
lblDd.setBounds(34, 127, 86, 20);
contentPane.add(lblDd);

sold=Index.t1.getText().toString();
Connection maConnection = null;

try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
System.out.println("pilote correctement chargé");
} catch (ClassNotFoundException e) {
System.out.println("Impossible de charger le pilote jdbc:odbc");
}

try {
maConnection = DriverManager.getConnection("jdbc:odbc:src","","");
Statement stmt = maConnection.createStatement();
ResultSet resultSet = stmt.executeQuery("SELECT * FROM employees where nom='"+sold+"'");
if (resultSet.next()) {
varS = (resultSet.getInt(7));
} }
catch (SQLException ex) {
System.out.println("ERREUR SQL = " + ex.getMessage());
}




textField = new JTextField();
textField.setBounds(169, 129, 144, 20);
contentPane.add(textField);
textField.setColumns(10);

JLabel message = new JLabel("");
message.setBounds(10, 254, 20, 20);
contentPane.add(message);

JButton btnV = new JButton("Valider");
btnV.setFont(new Font("Tahoma", Font.PLAIN, 13));


/******************************************************************/

btnV.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
Connection maConnection = null;
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
System.out.println("pilote correctement chargé");
} catch (ClassNotFoundException e) {
System.out.println("Impossible de charger le pilote jdbc:odbc");
}
try {
maConnection = DriverManager.getConnection("jdbc:odbc:src","","");
Statement stmt = maConnection.createStatement();
int soldes = Integer.parseInt(label_1.getText());
int demande = Integer.parseInt(textField.getText());
int restes = soldes - demande;
if(comboBox.getSelectedIndex()==0){
ResultSet resultSet = stmt.executeQuery("update employees set conge_annu=restes where nom='"+sold+"'");
ResultSet resultat = stmt.executeQuery("SELECT * FROM employees where nom='"+sold+"'");
if (resultat.next()) {
var1 = (resultat.getInt(9));
}
}

if(comboBox.getSelectedIndex()==1){
ResultSet resultSet = stmt.executeQuery("update employees set conge_exep=restes where nom='"+sold+"'");
ResultSet resultat = stmt.executeQuery("SELECT * FROM employees where nom='"+sold+"'");
if (resultat.next()) {
var1 = (resultat.getInt(10));
}
}

if(comboBox.getSelectedIndex()==2){
ResultSet resultSet = stmt.executeQuery("update employees set conge_mala=restes where nom='"+sold+"'");
ResultSet resultat = stmt.executeQuery("SELECT * FROM employees where nom='"+sold+"'");
if (resultat.next()) {
var1 = (resultat.getInt(11));
}
}
}
catch (SQLException ex) {
System.out.println("ERREUR SQL = " + ex.getMessage());
};



}
});

/******************************************************************/



btnV.setBounds(110, 232, 144, 31);
contentPane.add(btnV);

JLabel lblNewLabel_1 = new JLabel("Jours");
lblNewLabel_1.setFont(new Font("Tahoma", Font.PLAIN, 14));
lblNewLabel_1.setBounds(330, 128, 50, 19);
contentPane.add(lblNewLabel_1);

JLabel label = new JLabel("Jours");
label.setFont(new Font("Tahoma", Font.PLAIN, 14));
label.setBounds(273, 85, 40, 19);
contentPane.add(label);

label_1 = new JLabel(""+annuel());
label_1.setBounds(172, 89, 95, 14);
contentPane.add(label_1);

JLabel lblReste = new JLabel("");
lblReste.setBounds(169, 176, 65, 20);
contentPane.add(lblReste);
lblReste.setText(""+var1);

JLabel lblLeResteDe = new JLabel("Il vous reste :");
lblLeResteDe.setFont(new Font("Tahoma", Font.PLAIN, 14));
lblLeResteDe.setBounds(34, 174, 157, 20);
contentPane.add(lblLeResteDe);

JLabel label_2 = new JLabel("Jours");
label_2.setFont(new Font("Tahoma", Font.PLAIN, 14));
label_2.setBounds(273, 175, 50, 19);
contentPane.add(label_2);

}
}
A voir également:

2 réponses

tu as bien importer la bibliotheque ODBC dans Access ?

Pour la maj, t'es sur de ça :

ResultSet resultSet = stmt.executeQuery("update employees set conge_annu=restes where nom='"+sold+"'"); 



le reste, c'est pas une variable ? sinon ajoute les '

ResultSet resultSet = stmt.executeQuery("update employees set conge_annu='restes' where nom='"+sold+"'"); 
0
omda2007 Messages postés 82 Date d'inscription jeudi 16 août 2007 Statut Membre Dernière intervention 19 mars 2012 4
5 juil. 2011 à 14:00
alors la j'ai deja essayer le maj avec ResiltSet est c'est bien marché

alors que pour restes c'est une variable qui contient le une valeur entiere .


?????
0
Mais si c'est une variable ça serait pas
ResultSet resultSet = stmt.executeQuery("update employees set conge_annu="+restes+" where nom='"+sold+"'"); 
 


?

Mais l'erreur est a quel niveau ? tu as une idée ?
0