Inserer des valeurs a une table de bdd en java

Résolu
soumberr Messages postés 5 Date d'inscription lundi 24 janvier 2011 Statut Membre Dernière intervention 25 mars 2011 - 23 mars 2011 à 16:05
soumberr Messages postés 5 Date d'inscription lundi 24 janvier 2011 Statut Membre Dernière intervention 25 mars 2011 - 25 mars 2011 à 12:13
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

cs_laurent1024 Messages postés 987 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 30 août 2012 26
24 mars 2011 à 09:29
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
3
soumberr Messages postés 5 Date d'inscription lundi 24 janvier 2011 Statut Membre Dernière intervention 25 mars 2011
24 mars 2011 à 11:14
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..
0
cs_laurent1024 Messages postés 987 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 30 août 2012 26
25 mars 2011 à 10:34
Bonjour.
As tu bien vérifier la syntaxe de ta requete SQL ?
0
soumberr Messages postés 5 Date d'inscription lundi 24 janvier 2011 Statut Membre Dernière intervention 25 mars 2011
25 mars 2011 à 12:13
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
0