begin process at 2010 02 10 04:44:56
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Java

 > 

Archives

 > 

Servlet et JavaServerPage

 > 

transtyper une fonction


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

transtyper une fonction

mardi 30 novembre 2004 à 10:36:41 | transtyper une fonction

myers80

Bonjour à tous les développeurs,

je débute en java.
je souhaite créer une méthode qui me retournera une valeur pouvant être de différents types (ResultSet ou int)
J'ai essayé comme type de retour Object, ... rien à faire le compilateur indique toujour une erreur (incompatible types, found : int)
Existe-t-il une solution ? Je vous remercie d'avance...

Je veux montre un bout de code dans le cas ou je ne m'exprimerai pas correctement ;-)


public ? SQLExec(Connection maconnection, String marequete)
{
try
{
// Create a result set containing all data from my_table
Statement stmt = maconnection.createStatement();
String TypeRequete = marequete.substring(1,6);
if (TypeRequete == "SELECT") {
ResultSet resultat = stmt.executeQuery(marequete);
return resultat;
}
else if ((TypeRequete == "UPDATE") || (TypeRequete == "DELETE")) {
int nbenr = stmt.executeUpdate(marequete);
return nbenr;
}
else { System.out.println("Requete inconnue !"); }
}
catch (SQLException e){}
return null;
}
mardi 30 novembre 2004 à 11:30:20 | Re : transtyper une fonction

indiana_jules

Réponse acceptée !
Slut
ben personnellement, je te conseille de faire une méthode différente selon chaque cas.

Sinon, tu peux utiliser effectivement la classe Object:

public Object SQLExec(Connection maconnection, String marequete)
{
try
{
// Create a result set containing all data from my_table
Statement stmt = maconnection.createStatement();
String TypeRequete = marequete.substring(1,6);
if (TypeRequete == "SELECT") {
ResultSet resultat = stmt.executeQuery(marequete);
return (Object)resultat;
}
else if ((TypeRequete == "UPDATE") || (TypeRequete == "DELETE")) {
int nbenr = stmt.executeUpdate(marequete);
return "" + nbenr;
}
else { System.out.println("Requete inconnue !"); }
}
catch (SQLException e){}
return null;
}


apres, tu peux déterminer le type de retour :

if(retour != null){
if(retour.getClass().getName() == "ResultSet"){
//Correspond au select
}
else{
//correspond à l'update ou au delete
}
}


Voilà

[Tout le monde a des idées : la preuve, c'est qu'il y en a de mauvaises]
mardi 30 novembre 2004 à 11:41:50 | Re : transtyper une fonction

myers80

merci indiana_jules d'avoir répondu aussi rapidement.
je vais essayer ça tout de suite.
mercredi 2 février 2005 à 17:16:46 | Re : transtyper une fonction

ncottin

Oulà, ça m'a l'air compliqué ton source, là !

Si je repars du début :
"je souhaite créer une méthode qui me retournera une valeur pouvant être de différents types (ResultSet ou int)"

La surcharge de méthode n'est pas applicable ici, car elle n'est valab le que lorsque les paramètres diffèrent.

Tu peux renvoyer un "Object", mais c'est un peu crado. Je te donnes quand même comment le faire (***note : j'espère que mes balises "pre" seront interprétées...***). L'astuce est de passer par la classe "Integer" pour renvoyer un entier encapsulé dans un objet :

<pre>
Object maMethode(boolean intReturn) {
   if (intReturn) {
      return new Integer(100);
   }
   
   ResultSet rs = new resultSet();
   // Inititalisation de rs
   // ...
   
   return rs;
}
</pre>

Pour savoir ce que t'a renvoyé l'appel de "maMethode" :
<pre>
Object resultat = maMethode(...);
if (resultat instanceof Integer) {
   int valeur = ((Integer)resultat).intValue();
}
else {
   ResultSet rs = (ResultSet)resultat;
}
</pre>

Voilou !

Pour finir, "int" est un type de données et non un objet ! C'est pour cela que tu trouveras des classes correspondant aux types de base (int -> Integer, boolean -> Boolean, etc.).

@+,

-- Nath

NB : "transtyper une fonction", à priori, ça ne veut pas dire grand chose...


Cette discussion est classée dans : int, return, marequete, stmt, typerequete


Répondre à ce message

Sujets en rapport avec ce message

ajouter dans cette table des button (JAVA JTABLE JBUTTON) [ par zarziszita ] salut a toutes le monde mon probleme que j'ai envie ajouter deux button a la fin de table une des button permet ajouter un ligne .le methode main se t Help [ par fredspv ] Que faire avec les erreurs du ptit prog suivant ?public class Nat{ int n; public Nat(int n){ this.n=n; } public int getValue(){ return n; probleme de raffraichissement d'image [ par Azdruyel ] Bonjour a tous!Aujourd'hui,un nouveau jour, et donc un nouveau probleme!!!Alors voila, mon truc c'est que j'affiche en fond dans un JPanel une image ( JTable éditeur de couleur [ par jc_romeo ] BonjourJe voudrais faire une JTable avec le fait que quand on clique sur une des cases on puisse changer sa couleur de fond.j'ai donc créer la classe: JTable et setValueAt [ par anbanb ] Bonjour a tous je suis en train de créer une jtable mais j ai quelques soucis au niveau de la methode setvalueat .public int getColumnCount() {        JTable : afficher une Date [ par isako ] Bonjour,Ce sujet n'est pas nouveau dans le forum, mais je n'ai pas trouvé la solution... Je vous soumets mon problème en espérant que l'un de vous pou Pb avec une JTable et getSelctedRow() [ par gyome314 ] Salut les jeunes !Voila mon pb...Dans une interface graphique, je cherche éditer une liste de fichiers sous la forme d'une JTable avec une seule colon aide explication paint (tableaux de Hash) [ par Bilouz ] Bon voilà je viens de choper un pgm sympa style paint, juste pour dessiner et effacer le contenu.Par contre je ne comprends pas du tout comment foncti arbre avl [ par leray24na ] Bonsoir à tous,J'ai implementé un arbre en java.Maintenant je souhaiterai avoir la possibilité de demander l'ajout, la suppression ou la recherche d'u Probleme de keylistener sur Jframe et clipping [ par superjoe3 ] Bonjour, je suis en train de faire un pacman dans le cadre d'un projet de programmation, et j'ai un souci à propos des Keylistener sur la Frame qui d


Nos sponsors


Sondage...

Comparez les prix


HTC Hero

Entre 550€ et 550€

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), 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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,608 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales