begin process at 2010 02 10 12:22:10
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C#

 > 

Archives

 > 

Base de données

 > 

Erreur: Specified Cast Is Not Valid


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

Erreur: Specified Cast Is Not Valid

mercredi 21 septembre 2005 à 17:38:15 | Erreur: Specified Cast Is Not Valid

Darkneon

Salut,

J'ai un probleme. J'essais de debugger le code de mon collegue mais Visual Studio me lance l'erreur que j'ai mis dans le titre. Le programme compile; c'est en runtime que l'erreur est attrapee.

object oReader;
int ContactId = 0;

... plus tard ...

oResult = oCommand.ExecuteScalar();
ContectID = oResult == null ? 1 :  (int)oResult;

L'erreur c'est "(int)oResult". J'ai tester avec Convert.ToInt32(oResult.ToString()) et ca marche! Je ne comprends pas pourquoi le code original lui ne functionne pas?

Quelqu'un a une idee?

Merci d'avance.


Party 'till you drop !!!
mercredi 21 septembre 2005 à 18:55:57 | Re : Erreur: Specified Cast Is Not Valid

Lutinore

Administrateur CodeS-SourceS

Salut, utilises l'opérateur is ou as, peut être que oResult est de type string ?

mercredi 21 septembre 2005 à 20:28:42 | Re : Erreur: Specified Cast Is Not Valid

Darkneon

Mini correction, la premiere ligne "object oReader" c'est "object oResult".

OK, j'ai verifie le type de oReader et ca m'a retourne "decimal". Un peu plus de detail, une de valuer de oResult etait 27495.

Darkneon

mercredi 21 septembre 2005 à 22:16:30 | Re : Erreur: Specified Cast Is Not Valid

Lutinore

Administrateur CodeS-SourceS

Pour caster un type decimal:




// le type decimal est un réel.
object o = 99.99m; // m sgnifie decimal.

// sans perte de précision.
decimal d = ( decimal )o;

// les nombres après la virgule sont perdus.
int i = Decimal.ToInt32( ( decimal )o );

// ou ça:
int i = ( int )( decimal )o;

jeudi 22 septembre 2005 à 04:19:39 | Re : Erreur: Specified Cast Is Not Valid

Darkneon

Salut Lutinore,

Je dois avoier que j'ai jamais utiliser une variable de type object auparavant. Donc la prochaine question pourrait sonner tres debutante.

Dans ma tete, si tu fais object o = 99.9m, la variable o n'est elle pas converit en type "decimal"? Donc, decimal d = o devrait marcher sans le cast (decimal)?

Peut-etre un meilleur example, si tu fais object text = "du text", est ce que tu peux faire Console.Writline(text)? Ou bien il fait quand meme caster, donc Console.Writeline((string)text) ou meme Console.Writline(text.ToString())?

Je pourrais faire les testes moi meme, mais je suis un peu fatiguer maintenant

Merci!
jeudi 22 septembre 2005 à 19:05:16 | Re : Erreur: Specified Cast Is Not Valid

Lutinore

Administrateur CodeS-SourceS
Pour la première question, apparemment il n'y a pas de conversion implicite entre le type object et les types de bases, object est un type référence contrairement aux types de bases.

Pour la deuxième question, quand tu appelles la méthode WriteLine( myObject ) ca marche car dans la classe console il y'a une surcharge de WriteLine qui attend un object. Pour ce qui est d'utiliser ToString sur un object ca marche toujours car ToString est une métode virtuelle, càd qu'elle est appellée sur le vrai type de l'object.


Cette discussion est classée dans : int, erreur, cast, specified, oresult


Répondre à ce message

Sujets en rapport avec ce message

[C#] reinterpret_cast ? [ par scoubidou944 ] voila, j'ai une callback de type :private static bool EvalWindow(int hWnd, int lParam){}Utilisé lors d'un appel à EnumWindows(). L Specified cast is not valid [ par francesdereve ] Salut a tousJ'ai une colonne dans un ultragrid qui contient des checbox à l'insertion je fais un if((bool)row.cell["A"].value) ca accepte le casting e Probleme de CAST [ par jdaviaud ] Bonjour a tous, j'aurais encore besoin d'un peu de votre aide ;)J'ai une base de données que je modifie directement dans mon datagrid, et dans ma fonc application windows C# [ par krim43 ] bonjour tout le monde voila mon problème:Ecrire un programme permettant d'afficher un message de bienvenue à l'utilisateur qui entre son prénom. Si la [C#] - Erreur TCPListener [ par skyline86 ] Bonjour, je fais un programme qui écoute des ports TCP puis qui insère les données reçues dans une base de données.J'ai un problème quand j'ai beaucou ASP.NET C# 1.1 erreur de cast avec CDOEXM [ par Seth75 ] Bonjour, je dois créer des utilisateurs Active Directory j'ai une erreur au niveau de cette ligne : MailboxStore = (IMailboxStore)User.NativeObject; c Problème avec les formulaires [ par AzalTeeb ] Depuis ce soir quand j'essaie de créer un formulaire avec le wizard, j'obtiens cette erreur.J'ai juste cassé un lein entre 2 tables et modifier une va string to int [ par fredza ] Pouvez vous m'aider SVP*/Prendre les caractères d'une textbox et les concaténer puis les retransformer en string (pas obligatoire)(EX A=65, B=66 ... d Lecture section personalisée dans un fichier de configuration, Erreur classe non publique [ par LTourist ] Bonjour,Ca fait un moment que je bloque sur la lecture d'un fichier de configuration créé par mes soins. Lorsque que j'essaye de lire la section perso


Nos sponsors


Sondage...

Comparez les prix

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 : 1,154 sec (4)

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