Inserer des valeurs a une table de bdd en java [Résolu]

Signaler
Messages postés
5
Date d'inscription
lundi 24 janvier 2011
Statut
Membre
Dernière intervention
25 mars 2011
-
Messages postés
5
Date d'inscription
lundi 24 janvier 2011
Statut
Membre
Dernière intervention
25 mars 2011
-
slt ..je veux ajouter une chambre "table chambre" qui a deux champs "id_chambre"ainsi que sa categorie "id_categorie" mais je veux faire ca a partir de la console java sans revenir a chaque au la requete sql ..voila le code que j'ai
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.ResultSet;
import java.sql.Statement; 
public class addchambre { 
public static void main (String[] args){
 try
  {
Class.forName("org.postgresql.Driver")	;
System.out.println("je peux me connecter !!!");
String url="jdbc:postgresql://localhost:5432/gestionhotel";
String user="postgres";	String pass="pass";
Connection conn =DriverManager.getConnection(url,user,pass); Statement stmt = conn.createStatement();
System.out.println ("ajouter chambre ");
int id_chambre = Clavier.lireInt();
int id_categorie = Clavier.lireInt();
ResultSet result= stmt.executeQuery(" INSERT INTO chambre (id_chambre,id_categorie_c) VALUES ('"id_chambre"','id_categorie')");
System.out.println ("le num : "+result.getInt(id_chambre)+"le num cat"+result.getInt(id_categorie_c));
  
  }
  catch (Exception e)
  {
e.printStackTrace();
 }
 }}


ce code me permis de saisir a partir de console mais quand je consulte la table "chambre" ils sont pas inserer voila mon probleme..aidez moi stp

4 réponses

Messages postés
987
Date d'inscription
mardi 31 mai 2005
Statut
Membre
Dernière intervention
30 août 2012
18
Bonjour.
Remplace ton executeQuery par un executeUpdate.

ResultSet executeQuery(String sql)
throws SQLException
Executes the given SQL statement, which returns a single ResultSet object.
Parameters:
sql - an SQL statement to be sent to the database, typically a static SQL SELECT statement

----------------------------------------------------------

int executeUpdate(String sql)
throws SQLException

Executes the given SQL statement, which may be an INSERT, UPDATE, or DELETE statement or an SQL statement that returns nothing, such as an SQL DDL statement.

Parameters:
sql - an SQL Data Manipulation Language (DML) statement, such as INSERT, UPDATE or DELETE; or an SQL statement that returns nothing, such as a DDL statement.
Returns:
either (1) the row count for SQL Data Manipulation Language (DML) statements or (2) 0 for SQL statements that return nothing
Throws:
SQLException - if a database access error occurs, this method is called on a closed Statement or the given SQL statement produces a ResultS
Messages postés
5
Date d'inscription
lundi 24 janvier 2011
Statut
Membre
Dernière intervention
25 mars 2011

merci Laurent pour ton aide c'est gentil de ta part ..c'est bon mon code marche bien..sauf qu'il y a une exception lors de l'exécution "Aucun résultat a retourné" comment je traite cette exception svp ..merci d'avance..
Messages postés
987
Date d'inscription
mardi 31 mai 2005
Statut
Membre
Dernière intervention
30 août 2012
18
Bonjour.
As tu bien vérifier la syntaxe de ta requete SQL ?
Messages postés
5
Date d'inscription
lundi 24 janvier 2011
Statut
Membre
Dernière intervention
25 mars 2011

Bonjour.
c'est bon c 'est j'ai résolu le probleme j'ai mis ca stmt.executeUpdate(" INSERT INTO chambre (id_chambre,id_categorie_c) VALUES ('"id_chambre"','id_categorie')"); et ca marche tres bien.

mais quand je résous un pb je tombe dans un autre ,,j'ai un champ de type date et je sais pas comment déclarer une variable de type date en java j'ai essayé pas mal de truc mais ca n a pas marché ..j'attend votre aide ..merci