C quoi ca ? Dereferenced

colruyt Messages postés 20 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 18 novembre 2004 - 12 mai 2003 à 21:29
cs_Duss Messages postés 890 Date d'inscription lundi 8 avril 2002 Statut Membre Dernière intervention 29 juillet 2004 - 13 mai 2003 à 10:45
J'ai ceci comme message : int cannot be dereferenced

String test=reponse.getText();
Integer ger = new Integer(test);
int i = ger.intValue();

while(resultat.next()) {
if(i.equals(resultat.getInt(1)) { -----------> dereferenced
resultat.absolute(i);
resultat.deleteRow();
}
};

Merci Monsieur Duss , l'habitué du forum
A voir également:

6 réponses

Khaarl Messages postés 23 Date d'inscription mercredi 5 mars 2003 Statut Membre Dernière intervention 1 juin 2003
12 mai 2003 à 21:36
essaye
if(i = = resultat.getInt(1))

.equals() vient d'un objet alors qu'un int est un data type de base.
il y a une difference entre Integer et int. Integer est un objet qui wrap un int.
Déréferencer un type de base n'est pas permis en Java pcq tu ne peux pas avoir de pointeurs vers ces types de bases.
Si tu veux vraiment faire ta comparaison par .equals(), tu dois faire "new Integer(i)".

Dictionnaire -> Programmeur:(n.m.) Outil permettant de changer la caffeine en codes sources...
0
colruyt Messages postés 20 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 18 novembre 2004
12 mai 2003 à 22:17
Merci , tu m'as bien aidé cependant ,

je n'arrive pas a bien me positionner dans la première colonne pour effacer le ligne entière ...
Si je fais donc :

String test= reponse.getText();
Integer ger = new Integer(test);
int i = ger.intValue();
System.out.println(i);
String url = "jdbc:odbc:db";
Connection con=null;
try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con=DriverManager.getConnection(url,"","");
Statement requete = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
ResultSet resultat=requete.executeQuery("select * from Stock");
resultat.absolute(i);
resultat.deleteRow();
requete.close();
resultat.close();
}

je voudrais effacer le ligne qui contient le meme numero que l'indice rentré.

Explication :
Si j'ai :
1
2
4
5

et que je lui dit d'effacer la ligne commencant par 4 , il va m'effacer la 4ème ligne ( donc 5 ) ! !!!!
Tu peux m'aider ?
0
Khaarl Messages postés 23 Date d'inscription mercredi 5 mars 2003 Statut Membre Dernière intervention 1 juin 2003
13 mai 2003 à 01:11
Je n'ai jamais fait de base de données (en fait, entendre ODBC, ca me fait frissonner... :-) )
Mais si tu arrive à effacer une ligne, mais c'est la mauvaise (de ce que j'en comprends ici)
//Explication :
//Si j'ai :
//1
//2
//4
//5
//
//et que je lui dit d'effacer la ligne commencant par 4 , il va
//m'effacer la 4ème ligne ( donc 5 ) ! !!!!
//Tu peux m'aider ?
tu devrais lui demander d'effacer la ligne (n - 1) (comme pour les arrays).
Ex: tu veux effacer la ligne 4, tu demande la 3. C'est simplement que les index ne commencent pas à 1 mais à 0.
Ta premiere ligne est la ligne 0.
J'espere que c ce que tu cherchais...

Dictionnaire -> Programmeur:(n.m.) Outil permettant de changer la caffeine en codes sources...
0
cs_Duss Messages postés 890 Date d'inscription lundi 8 avril 2002 Statut Membre Dernière intervention 29 juillet 2004 11
13 mai 2003 à 09:22
salut,
c est normal que ca n efface pas la bonne ligne ;)
avec absolute(i) tu te place sur l index 4 pas sur la ligne qui contient 4 ;)
pour effacer celle que tu veux :
while (resultat.next())
{
if (resultat.getInt("ta colonne") == i)
resultat.deleteRow();
}

Duss
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
colruyt Messages postés 20 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 18 novembre 2004
13 mai 2003 à 10:16
Merci à tout les 2 pour vos explications ,
elles me sont très utiles néanmoins ( LE RETOUR DE LA QUESTION TUEUSE ... ) en essayant ton code ci-desous Duss , l'enregistrement est correctement effacé mais j'ai toujours un message qui me dit que le curseur est mal positionné ... ( y en a marre de ce message )
Devrais je mettre avant la boucle un resultat.beforeFirst();

En vous remerciant
0
cs_Duss Messages postés 890 Date d'inscription lundi 8 avril 2002 Statut Membre Dernière intervention 29 juillet 2004 11
13 mai 2003 à 10:45
c est koi le message ?
0
Rejoignez-nous