Probleme de conversion

Probleme de conversion - C#/.NET managed - Programmation

Marsh Posté le 21-06-2004 à 10:36:09    

Voila je devellope un site en ASP.NET et j'essaye de recuperer un numero de client de ma table client voici le code que j'utilise

Code :
  1. sqlstr = "SELECT MAX(Num_Client) FROM client WHERE Nom = '"+TbNom+"';";
  2.   oCmd = new OleDbCommand(sqlstr,connexion);
  3.   oCmd.CommandText=sqlstr;
  4.   oCmd.CommandType=CommandType.Text;
  5.   connexion.Open();
  6.   int num_client= Convert.ToInt32(oCmd.ExecuteScalar().ToString());


Lors de l'excecution il me donne cette erreur
[]Détails de l'exception: System.FormatException: Le format de la chaîne d'entrée est incorrect[/]
sur la ligne : Ligne 216 :   Int32 num_client= Convert.ToInt32(oCmd.ExecuteScalar().ToString());

 
Je ne comprend pas trop pourquoi si quelqu'un peut m'aider ca me bloque ds le devellopement de mon applic et j'ai un exam dessus tres prochainement genre demain en fait :d donc si il y a une bonne ame pr m'aider ca me fait tres tres plaisirs

Reply

Marsh Posté le 21-06-2004 à 10:36:09   

Reply

Marsh Posté le 21-06-2004 à 12:58:41    

http://msdn.microsoft.com/library/ [...] opic13.asp
 

Citation :


Exception Type          
FormatException
 
Condition
value does not consist of an optional sign followed by a sequence of digits (zero through nine).


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 21-06-2004 à 15:05:32    

c un numero de client comment je fais pr le transformer en ca moi?

Reply

Marsh Posté le 21-06-2004 à 22:53:55    

commence déjà par regarder ce que te renvoie oCmd.ExecuteScalar(), et agis en conséquence


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 21-06-2004 à 23:09:56    

<HS>
En plus, une requête SQL dynamique, par les temps qui courent... Elle est pas critique au moins, ton application ?
</HS>
 
 
Essaie :
 
int num_client = (int)oCmd.ExecuteScalar();
 
 
 
Mais ça serait plus sûr de faire :
 
int num_client;
object o = oCmd.ExecuteScalar();
if (o is int) { num_client = (int)o; }  
 
 
 
Ou encore :
if ( oCmd.ExecuteScalar() != null)
{
    // Je fais mon travail
}
 
 
// EDIT: à condition que la première colonne de ta ligne soit le numéro de client, et un entier, bien sûr...
 
// EDIT 2: pas vu que c'était pour un examen. J'aurais pas répondu.


Message édité par Yttrium le 21-06-2004 à 23:13:26
Reply

Marsh Posté le 21-06-2004 à 23:21:14    

Yttrium a écrit :


// EDIT 2: pas vu que c'était pour un examen. J'aurais pas répondu.


on peut lui répondre, il a essayé de faire quelque chose et n'a pas posté son sujet en demandant de faire le boulot ;)


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Sujets relatifs:

Leave a Replay

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