[c#] cast d'un object en int

cast d'un object en int [c#] - C#/.NET managed - Programmation

Marsh Posté le 01-07-2005 à 11:00:12    

j'ai un probleme avec cette ligne ou j'essaye de faire un cast:  
 
 
int m_lastid = (int) myCmdSelect.ExecuteScalar();  
 
J'ai une erreur: Specified cast is not valid.  
 
comment faire pour caster correctement.
Merci

Reply

Marsh Posté le 01-07-2005 à 11:00:12   

Reply

Marsh Posté le 01-07-2005 à 11:08:54    

elle renvoie quoi ta truc ?

Reply

Marsh Posté le 01-07-2005 à 11:09:32    

en entier ...

Reply

Marsh Posté le 01-07-2005 à 11:12:35    

ben la preuve que non.

Reply

Marsh Posté le 01-07-2005 à 11:12:46    

Code :
  1. class Foo
  2. {
  3.   public static object identity(object o)
  4.     {
  5.       return o;
  6.     }
  7.   public static void Main()
  8.     {
  9.       int i = (int) identity(42);
  10.       System.Console.WriteLine(i);
  11.     }
  12. }

Reply

Marsh Posté le 01-07-2005 à 11:17:25    

le truc c'est quant je fait :
 
object lastId = myCmdSelect.ExecuteScalar();
 
ca marche et ca me retourne une valeur genre 23 ou autre entier.
Mais je veux que lastId soit un int, et lorsque j'essaye de caster cf mes messages precedents ca ne marche pas ...

Reply

Marsh Posté le 01-07-2005 à 11:18:12    

Dans ta base ca correspond a quoi comme type?


---------------
!== Force et honneur ==!
Reply

Marsh Posté le 01-07-2005 à 11:21:07    

a un int

Reply

Marsh Posté le 01-07-2005 à 11:24:24    

Int32 m_lastid = (int32) myCmdSelect.ExecuteScalar();


---------------
!== Force et honneur ==!
Reply

Marsh Posté le 01-07-2005 à 11:28:00    

Sauf que Int32 est un alias de int

Reply

Marsh Posté le 01-07-2005 à 11:28:00   

Reply

Marsh Posté le 01-07-2005 à 11:33:56    

je viens de tester avec Int32 ca ne change rien ...
Je ne comprend pas pkoi ca ne marche pas...

Reply

Marsh Posté le 01-07-2005 à 12:13:17    

donne la signature de ta méthode.

Reply

Marsh Posté le 01-07-2005 à 12:15:00    

Taz a écrit :

donne la signature de ta méthode.


 
pardonne mon ignorence mais c'est quoi la signature d'une methode :)

Reply

Marsh Posté le 01-07-2005 à 12:22:55    

Taz a écrit :

donne la signature de ta méthode.


C'est ExecuteScalar, trouvable dans n'importe quel DataCommand -> ça retourne un Object, ou null si pas de valeur

Reply

Marsh Posté le 01-07-2005 à 12:24:07    

Object ou object ?

Reply

Marsh Posté le 01-07-2005 à 12:26:59    

public virtual object ExecuteScalar();

Reply

Marsh Posté le 01-07-2005 à 14:47:43    

Et avec un Convert.ToInt32() ?

Reply

Marsh Posté le 01-07-2005 à 15:30:16    

ben alors voir l'exemple précédent

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed