Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Langages serveur > ASP
ASP Forum sur la programmation ASP. Avant de poster : Cours ASP, FAQ ASP
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 31/03/2008, 16h39   #1
Invité régulier
 
Inscription : mars 2008
Messages : 41
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 41
Points : 7
Points : 7
Par défaut verifier si un enregistrement est vide

bonjours,
j'ai beau chercher, je n'ai toujours pas trouvé.
mon probleme est:

suite a une requete, je recupere plusieur info (comme par exemeple CLIENT_ID). ce dernier peut être vide (ou plutot null). Donc, suivant si il est null ou pas le traitement qui suit n'est pas le même.

j'ai tester sa => if not (RS("CLIENT_ID") Is Nothing) then

sa n'a pas l'air bon.

Je pense que mon probleme n'est pas très compliqué a resoudre
je vous remercie d'avance

Ludo
ludo24 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/03/2008, 16h46   #2
Membre expérimenté
 
Inscription : octobre 2004
Messages : 516
Détails du profil
Informations personnelles :
Âge : 32
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : octobre 2004
Messages : 516
Points : 508
Points : 508
Envoyer un message via MSN à TekP@f
Salut,

Essaie ça :

Code :
1
2
 
if not isnull(RS("CLIENT_ID")) then
TekP@f est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/03/2008, 16h50   #3
Invité régulier
 
Inscription : mars 2008
Messages : 41
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 41
Points : 7
Points : 7
j'ai tester, mais c'est pas bon,
il continue a descendre dans le if


merci kan même, et si t'as d'autre idée hesite pas
ludo24 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/03/2008, 16h54   #4
Membre expérimenté
 
Inscription : octobre 2004
Messages : 516
Détails du profil
Informations personnelles :
Âge : 32
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : octobre 2004
Messages : 516
Points : 508
Points : 508
Envoyer un message via MSN à TekP@f
Citation:
Envoyé par ludo24 Voir le message
j'ai tester, mais c'est pas bon,
il continue a descendre dans le if


merci kan même, et si t'as d'autre idée hesite pas
Et ça :

Code :
1
2
 
if RS("CLIENT_ID") & "" <> "" then
TekP@f est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/03/2008, 16h58   #5
Invité régulier
 
Inscription : mars 2008
Messages : 41
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 41
Points : 7
Points : 7
quelque chose ne doit pas lui plaire, il me dit "error '80020009'" et puis c'est tout
(pourtant quand je l'ai vu, j'y ai cru

je tien a dire que j'ai testé avec isEmpty, mais rien de bien fameux

arf
ludo24 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/03/2008, 17h05   #6
Membre expérimenté
 
Inscription : octobre 2004
Messages : 516
Détails du profil
Informations personnelles :
Âge : 32
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : octobre 2004
Messages : 516
Points : 508
Points : 508
Envoyer un message via MSN à TekP@f
Et le recordset, il est vide ou pas ?
En lisant ton post, j'ai supposé que non, mais t'as bien un contrôle de type eof ?

Genre :

TekP@f est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/04/2008, 11h29   #7
Modérateur
 
Avatar de kaiser59
 
Inscription : novembre 2005
Messages : 1 248
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : novembre 2005
Messages : 1 248
Points : 1 205
Points : 1 205
Envoyer un message via MSN à kaiser59
Salut,

Logiquement pour vérifier si le champ existe déjà tu fais ceci :
Code asp :
1
2
3
4
5
6
 
if rs(0) <> "" then 'enregistrement non vide
 response.write "Ce numéro n'est pas vide"
else 'enregistrement vide
 response.write "Vide"
end if

tu fais une recherche du supposer identifiant au préalable dans ta requete et ensuite tu passe à la condition.

PS : rs(0) signifie la 1ere colonne de ton tableau
__________________
Ne dites pas Java pour dire Javascript ! Ces deux codes n'ont rien à voir ! // Essayez d'expliquer, de la façon la plus claire possible votre problème. // Parfois une image vaut mieux qu'un long discours

FAQ ASP
kaiser59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/04/2008, 11h31   #8
Invité régulier
 
Inscription : mars 2008
Messages : 41
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 41
Points : 7
Points : 7
Mon recordSet n'est pas vide, c'est sûr (les autres "enregistrements" contiennent de l'informations).

sql="select * from PROJECT where PROJECT_ID=" & vProjectID
RS.Open sql, cn

if RS("CLIENT_ID") is nothing then
response.write("le client est null")
end if

franchement, je voit pas se qui cloche
ludo24 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/04/2008, 11h37   #9
Invité régulier
 
Inscription : mars 2008
Messages : 41
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 41
Points : 7
Points : 7
salut kaiser
tu me propose sa:
if rs(0) <> "" then

etant donné que CLIENT_ID n'est pas la premiere colonne, je devrait faire un truc du genre
if rs(x) <> "" then (avec x=n° de colonne de CLIENT_ID)

sa revient au meme que ???
if rs(CLIENT_ID) <> "" then

mais il n'as pas l'aire d'aimer non plus (de plus CLIENT_ID est un entier, je pense pas que le comparer a une chaine vide soit super super)

bref je ne sais plus quoi faire
ludo24 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/04/2008, 11h45   #10
Membre expérimenté
 
Inscription : octobre 2004
Messages : 516
Détails du profil
Informations personnelles :
Âge : 32
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : octobre 2004
Messages : 516
Points : 508
Points : 508
Envoyer un message via MSN à TekP@f
rs(x) et rs("CLIENT_ID") sont équivalents en effet.

Je sèche aussi là. Pourtant, ce genre de contrôles se fait partout et le code que je t'ai donné fonctionne très bien chez moi.

Es-tu sûr que le champ est vide ? Y'a pas un caractère foireux masqué ?
T'as moyen de récupérer le contenu du champ en hexa afin de vérifier le contenu ?
Ca m'est déjà arrivé d'avoir des caractères étranges dans des champs SQL. Ce que j'avais fait à l'époque pour trouver le problème :

Code :
1
2
3
 
Response.write rs("CLIENT_ID") 
response.end
Ensuite, tu sauves le résultat dans un fichier et tu l'édites avec UltraEdit par exemple pour voir le résultat hexa.
TekP@f est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/04/2008, 13h13   #11
Modérateur
 
Avatar de kaiser59
 
Inscription : novembre 2005
Messages : 1 248
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : novembre 2005
Messages : 1 248
Points : 1 205
Points : 1 205
Envoyer un message via MSN à kaiser59
Tu utilises une base Access ou SQL Server ??
__________________
Ne dites pas Java pour dire Javascript ! Ces deux codes n'ont rien à voir ! // Essayez d'expliquer, de la façon la plus claire possible votre problème. // Parfois une image vaut mieux qu'un long discours

FAQ ASP
kaiser59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/04/2008, 13h24   #12
Membre confirmé
 
Homme Toto Browny
Développeur informatique
Inscription : mars 2008
Messages : 198
Détails du profil
Informations personnelles :
Nom : Homme Toto Browny
Âge : 31
Localisation : France, Haute Vienne (Limousin)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Distribution

Informations forums :
Inscription : mars 2008
Messages : 198
Points : 206
Points : 206
esasi
if RS("CLIENT_ID") = nothing then ou
if RS("CLIENT_ID") = null then


Puisque IsNull ou IsEmpty ne marche pas
BROWNY est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/04/2008, 15h20   #13
Invité régulier
 
Inscription : mars 2008
Messages : 41
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 41
Points : 7
Points : 7
j'utilise une BD access.

apparement, si j'ai bien compris, mon probleme est au moment du if.
j'ai utilisé => if RS("CLIENT_ID") <> "" then
sauf que le probleme, si après le select il n'y a pas de CLIENT_ID (le champ est vide) je ne peux pas faire ce test

c'est quand même étrange je trouve

merci de m'aider, un jours on aura la reponse
ludo24 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/04/2008, 15h22   #14
Membre expérimenté
 
Inscription : octobre 2004
Messages : 516
Détails du profil
Informations personnelles :
Âge : 32
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : octobre 2004
Messages : 516
Points : 508
Points : 508
Envoyer un message via MSN à TekP@f
Tu pourrais mettre un peu plus de codes, ça pourrait servir.
TekP@f est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/04/2008, 15h58   #15
Invité régulier
 
Inscription : mars 2008
Messages : 41
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 41
Points : 7
Points : 7
je sais pas vraiment se que tu voudrais de plus comme code, je sais que mon problème se situe à ce niveau =>

sql="select * from PROJECT where PROJECT_ID=" & vProjectID
RS.Open sql, cn

if RS("CLIENT_ID") <> "" then (<- surtout la, j'ai fait plusieurs)
response.write("le client est null")
end if

tout le reste fonctionne donc je sais pas quoi te donner de plus
ludo24 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/04/2008, 16h52   #16
Membre habitué
 
Inscription : novembre 2007
Messages : 381
Détails du profil
Informations personnelles :
Âge : 29
Localisation : Maroc

Informations forums :
Inscription : novembre 2007
Messages : 381
Points : 148
Points : 148
Salut,
Sinon une description de ta base de données et son objectif + ses champs peuvent servir non?
Est ce que "CLIENT_ID" est un champ obligatoire ou non ca veut dire lors de l'insertion il faut obligatoirement l'ajouter ou pas?
debutantasp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/04/2008, 23h00   #17
Modérateur
 
Avatar de kaiser59
 
Inscription : novembre 2005
Messages : 1 248
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : novembre 2005
Messages : 1 248
Points : 1 205
Points : 1 205
Envoyer un message via MSN à kaiser59
Citation:
Envoyé par ludo24 Voir le message
je sais pas vraiment se que tu voudrais de plus comme code, je sais que mon problème se situe à ce niveau =>

Code asp :
1
2
3
4
5
6
sql="select * from PROJECT where PROJECT_ID=" & vProjectID
RS.Open sql, cn
 
if RS("CLIENT_ID") <> "" then  '<- surtout la, j'ai fait plusieurs
response.write "le client est null"
end if

tout le reste fonctionne donc je sais pas quoi te donner de plus
Attention, ici l'enregistrement existe car tu lui différent de vide. Ce que je t'avais mi à la partie après le else, ta question. Si vraiment tu veux entrer directement dans le vide il te suffit de mettre = au lieu de <>. Par ailleurs, quel est le type de champ CLIENT_ID numéroauto, numérique, etc... ??
__________________
Ne dites pas Java pour dire Javascript ! Ces deux codes n'ont rien à voir ! // Essayez d'expliquer, de la façon la plus claire possible votre problème. // Parfois une image vaut mieux qu'un long discours

FAQ ASP
kaiser59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/04/2008, 09h09   #18
Invité régulier
 
Inscription : mars 2008
Messages : 41
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 41
Points : 7
Points : 7
alors: Client_ID est un numerique non obligatoire (sinon je serai pas embetté par cette histoire), ce n'est donc pas l'identifiant de la table PROJECT.mais c'est un identifiant relatif à la table CLIENT. bref
Quoi qu'il en soit, maintenant (suite a une legère modification de la demande) je fait abstraction de se CLIENT_ID, je ne m'embête plus avec se souci (problème de temps). Mais personnelement sa me chagrine quand même un peu.


escuse moi kaiser pour le code que j'ai fourni, c'est que j'ai fait pas mal de manip, et en effet cette portion de code n'a aucun sens

Merci tout le monde
ludo24 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/04/2008, 21h55   #19
Expert Confirmé Sénior

 
Avatar de Immobilis
 
Inscription : mars 2004
Messages : 5 859
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 5 859
Points : 5 979
Points : 5 979
Salut,

Sinon, tu peux toujours essayer
Code :
1
2
 
if len(RS("CLIENT_ID")) > 0 then ...
A+
Immobilis 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 18h55.


 
 
 
 
Partenaires

Hébergement Web