Problemes asp.net: controle TextBox et classe OracleDataReader.GetChar

magi325 Messages postés 3 Date d'inscription jeudi 5 janvier 2006 Statut Membre Dernière intervention 9 janvier 2006 - 5 janv. 2006 à 12:32
magi325 Messages postés 3 Date d'inscription jeudi 5 janvier 2006 Statut Membre Dernière intervention 9 janvier 2006 - 9 janv. 2006 à 10:31
Salut,



J'ai rencontre deux problemes ds mon app ASP.NET:



1) Comment forcer un text box a ne pas accepter que des lettres (champs
nom, prenom) ou a la limite, qu'il accepte, mai comment faire la
verification pour donner l'erreur?



2) J'ai un champ Sex dans une classe "mapee" sur une table Oracle nomee
Client. Je fais ma selection SELECT Sex FROM Client WHERE ..... et
apres je construis un objet Client pour lequel je veux faire:



client.setSex(rdr.GetChar(1)); //rdr est un objet OracleDataReader



Ca ne marche pas...ca marche juste ds le cas lequel le champ Sex de ma
classe est du type string et pas char et alors je dois faire

client.setSex((string)rdr[1]); // ou qq chose comme ca, j'ai pas le code devant moi





Je vous remercie d'avance pour vos reponses.

ciao

4 réponses

jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
5 janv. 2006 à 12:40
Bonjour, pour ta premiere question, il te faudra utiliser les controle de validation, notamment le controle customRegularExpressionValidator tu lui mettra une regexp pour n'accepter que ce que tu veux, ca le fera d'abord coté client, puis ensuite il te faudra faire un

page.validate()
if (page.isvalid)
// t'es sur qu'ici ta chaine correspond à ce que tu veux

Chose à savoir un customRegularExpressionValidator ne teste que si il y a quelque chose donc n'oublie pas le requiredfieldvalidator :)

Pour la 2eme question, il suffit de modifier ta fonction setSex pour qu'elle prenne non pas un string en paramètre mais un char


<HR>
Cyril - MVS - MCP ASP
0
magi325 Messages postés 3 Date d'inscription jeudi 5 janvier 2006 Statut Membre Dernière intervention 9 janvier 2006
5 janv. 2006 à 14:21
Merci pour ta reponse.



J'ai oublie dire que j'utilise le Framework 1.1 avec la version 2003.

J'ai evite les controles de validation car une fois que j'ai
essaye ca n'a pas marche et comme je suis en retard avec mon applic,
j'ai trouve chaque fois autre solution. Je vais essayer encore une fois
si tu dis que ca devrait marcher...pourrais-tu etre un peu plus
explicit? Je dois mettre page.IsValid ds PageLoad? Et...quoi avec
regexp?



Pour la 2eme question, je n'ai pas bien explique...j'ai modifie biensur
la fct setSex(), mais le probleme est autour de la fct rdr.GetChar(1)
...la j'ai recu une fois l'err qu'elle n'est pas suporte, autre fois
quand je fais:



if(client.getSex()=='F') unString="Madame/Mademoiselle";

else unString="Monsieur";



La il me met tjr Monsieur meme si c'est une femme, mais si getSex() est
du type string, tout va bien. La je ne comprends plus rien...
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
5 janv. 2006 à 14:32
Regarde des exemples sur le net il y en a un peu partout :) pour trouver la bonne regexp fait un tour sur www.regexlib.com

pour le page.validate, il faut faire ca dans le init (c'est le plus simple) et ca permet de définir la valeur de page.isValid par défaut celle ci est à true, ensuite avant de faire ce que tu veux tu regardes si la page est bien valide avec page.isValid

Pour la deuxieme question, met un coup de debuggeur car le je vois pas :)


<HR>
Cyril - MVS - MCP ASP
0
magi325 Messages postés 3 Date d'inscription jeudi 5 janvier 2006 Statut Membre Dernière intervention 9 janvier 2006
9 janv. 2006 à 10:31
hello,



J'ai refait qq tests concernant le 2eme probleme et voila mes resultats:



- rdr.GetChar(0) --> msg d'err: La fct n'est pas suportee

- (char)rdr["Sex"]--> conversion invalide



Je trouve pas une solution...comment se fait alors la conversion en ADO.net des champs de type Char d'une BD Oracle?



merci.
0
Rejoignez-nous