Précédent   Forum des professionnels en informatique > Bases de données > Sybase
Sybase Forum sur la base de données Sybase. Avant de poster -> F.A.Q Sybase, Tutoriels Sybase
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 02/04/2007, 15h09   #1
Invité régulier
 
Inscription : juillet 2006
Messages : 10
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 10
Points : 5
Points : 5
Par défaut Récupérer le code erreur du convert

Bonjour,

dans ma BD, je dois valider un code. Ce code est de ce format : AAAnnnnn
où AAA est alphabétique et nnnnn numérique.
Je veux donc vérifier que la 2e partie est bien numérique.
Pour cela j'avais pensé récupérer l'erreur de la fonction convert :

Code :
1
2
3
4
5
6
7
8
SELECT @ln_partie2 = convert(numeric,@ls_partie2)   
SELECT @L_SQLERREUR = @@error
IF @L_SQLERREUR != 0   
begin   
	SELECT @L_ERREUR = "Le code n'est pas valide"   
	SELECT @L_RETURN = -1
	goto Sortie   
end
Mais ça ne marche pas... je ne récupère pas l'erreur de la fonction convert.

Quelqu'un a t il une idée ?
ALEX731 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/04/2007, 15h35   #2
Membre du Club
 
Inscription : octobre 2005
Messages : 79
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : octobre 2005
Messages : 79
Points : 46
Points : 46
Vous pourriez utiliser if et like, par exemple :

Code :
1
2
3
4
 
1>  IF "1"  LIKE "[0-2]"
2> print "OK"
3> go
Code :
1
2
3
4
 
1> IF "A" LIKE "[0-2]"
2>  print "OK"
3> go
lsone est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/04/2007, 16h04   #3
Rédacteur/Modérateur
 
Inscription : janvier 2006
Messages : 1 301
Détails du profil
Informations personnelles :
Âge : 52

Informations forums :
Inscription : janvier 2006
Messages : 1 301
Points : 1 505
Points : 1 505
Envoyer un message via AIM à mpeppler
En ASE 15.0.1:
Code :
1
2
 
SELECT isnumeric(DATA)
qui retourne 1 si "data" est numerique...

Michael
__________________
Michael Peppler
Membre de TeamSybase - www.teamsybase.com

"A successful [software] tool is one that was used to do something undreamed of by its author." -- S. C. Johnson
mpeppler est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/04/2007, 16h12   #4
Invité régulier
 
Inscription : juillet 2006
Messages : 10
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 10
Points : 5
Points : 5
Je suis malheureusement en version 12.5

C'est donc la solution de lsone que je vais utiliser.

Merci à tous les 2.
ALEX731 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/04/2007, 16h50   #5
Membre du Club
 
Inscription : octobre 2005
Messages : 79
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : octobre 2005
Messages : 79
Points : 46
Points : 46
Citation:
Envoyé par lsone

En ASE 12.5.X, vous pourriez utiliser if et like, par exemple :

Code :
1
2
3
4
 
1>  IF "1"  LIKE "[0-2]"
2> print "OK"
3> go
Code :
1
2
3
4
 
1> IF "A" LIKE "[0-2]"
2>  print "OK"
3> go
lsone est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/04/2007, 17h53   #6
Membre confirmé
 
Homme
Développeur informatique
Inscription : octobre 2006
Messages : 181
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : octobre 2006
Messages : 181
Points : 267
Points : 267
Je ne vois pas pourquoi ta méthode ne marcherait pas.
Recuperes tu bien le @@error juste apres le convert ?
Jean.Cri1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/04/2007, 19h46   #7
Membre du Club
 
Inscription : octobre 2005
Messages : 79
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : octobre 2005
Messages : 79
Points : 46
Points : 46
Citation:
Envoyé par Jean.Cri1
Je ne vois pas pourquoi ta méthode ne marcherait pas.
Recuperes tu bien le @@error juste apres le convert ?
En fait, c'est le convert(numeric,@ls_partie2) qui pose problème.
Pour tout les cas où @ls_partie2 n'est pas numeric, tu auras toujours une erreur.

Reportez vous à http://www.developpez.net/forums/sho...d.php?t=183928
lsone est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/04/2007, 10h05   #8
Membre confirmé
 
Homme
Développeur informatique
Inscription : octobre 2006
Messages : 181
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : octobre 2006
Messages : 181
Points : 267
Points : 267
Merci pour le lien, c'est une problematique interessante.
Jean.Cri1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h02.


 
 
 
 
Partenaires

Hébergement Web