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 09/05/2011, 11h28   #1
Futur Membre du Club
 
Femme Audrey
Étudiant
Inscription : avril 2011
Messages : 71
Détails du profil
Informations personnelles :
Nom : Femme Audrey
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2011
Messages : 71
Points : 17
Points : 17
Par défaut Fonction SQL Replace

Bonjour,

Je vais essayer d'être le plus claire possible. Voici mon problème :
Je dois dans un formulaire ramener des données d'une table SQL. Jusque là tout va bien. Mais, lorsque l'une des données que je dois ramener est à NULL dans la table, tout ce bloque, rien ne s'affiche.
Je souhaitais donc utiliser la méthode REPLACE mais je ne sais pas trop comment.
Voici ce que j'ai tenté :
Citation:
ReqSQL = " SELECT ma_donnee FROM ma_table WHERE [je vous épargne les détails] "
ReqSQL = ReqSQL & " SELECT REPLACE (ma_donnee, 'NULL', ' ') FROM ma_table WHERE ma_donnee = 'NULL' "
ou encore ceci :
Citation:
ReqSQL = "SELECT ma_donnee FROM ma_table WHERE [je vous épargne les détails]"
ReqSQL = ReqSQL & " REPLACE (ma_donnee, 'NULL', ' ') "
Si quelqu'un a une idée, je suis preneuse.

Merci d'avance.
audrey1912 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/05/2011, 11h48   #2
Nouveau Membre du Club
 
Sleeg Adri
Inscription : juillet 2010
Messages : 130
Détails du profil
Informations personnelles :
Nom : Sleeg Adri

Informations forums :
Inscription : juillet 2010
Messages : 130
Points : 38
Points : 38
Salut,

As-tu essayé ceci?

Code :
1
2
 
ReqSQL = " SELECT ma_donnee FROM ma_table WHERE ma_donnee IS NOT NULL "
sleeg est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/05/2011, 12h23   #3
Membre expérimenté
 
Avatar de tumoo
 
Homme
Développeur informatique
Inscription : janvier 2011
Messages : 309
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 22
Localisation : France, Charente Maritime (Poitou Charente)

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

Informations forums :
Inscription : janvier 2011
Messages : 309
Points : 550
Points : 550
Salut

Je pense que tu peux aussi faire sans le REPLACE
en faisant

Code :
1
2
3
4
5
 
if recordset('tonchamp') <>"" then
response.write recordset('tonchamp')
else response.write " - "
end if
tumoo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/05/2011, 12h56   #4
Futur Membre du Club
 
Femme Audrey
Étudiant
Inscription : avril 2011
Messages : 71
Détails du profil
Informations personnelles :
Nom : Femme Audrey
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2011
Messages : 71
Points : 17
Points : 17
Je n'ai pas réussi à le faire fonctionner avec le recordset, mais merci thumeau!

L'idée de sleeg me plait bien mais j'ai plusieurs données à ramener, et est ce que je peux mettre un ET dans le WHERE ?? Avec un ET commercial ?
Voilà ce que j'ai essayé :

ReqSQL = "SELECT ma_donnee1, ma_donnee2 FROM ma_table WHERE ((je vous épargne les détails) AND (ma_donne2 IS NOT NULL))"

Mais il a pas l'air d'apprécier la blague...

Je suis désolée, j'ai commencé le SQL il y a seulement 3 jours.
audrey1912 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/05/2011, 13h23   #5
Membre expérimenté
 
Avatar de tumoo
 
Homme
Développeur informatique
Inscription : janvier 2011
Messages : 309
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 22
Localisation : France, Charente Maritime (Poitou Charente)

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

Informations forums :
Inscription : janvier 2011
Messages : 309
Points : 550
Points : 550
Peux tu préciser ta question (avec un exemple si possible )

en tout cas la solution de sleeg devrait fonctionner, l'erreur ne provient pas du reste du where ?
tumoo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/05/2011, 13h32   #6
Futur Membre du Club
 
Femme Audrey
Étudiant
Inscription : avril 2011
Messages : 71
Détails du profil
Informations personnelles :
Nom : Femme Audrey
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2011
Messages : 71
Points : 17
Points : 17
Le reste du where fonctionne bien, je l'ai essayé sans ajouter le AND et ce qu'il y a après.

En fait c'est un formulaire destiné au RH pour que les nouveaux employés qui y sont saisis entre dans une table SQL qui répertorie les employés. On peut également afficher les données d'un employé, mais si l'un des champs à renvoyer dans le formulaire est à NULL, l'affichage ne se fait pas.
Je ne sais pas si j'ai répondu à ta question....
audrey1912 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/05/2011, 13h39   #7
Membre expérimenté
 
Avatar de tumoo
 
Homme
Développeur informatique
Inscription : janvier 2011
Messages : 309
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 22
Localisation : France, Charente Maritime (Poitou Charente)

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

Informations forums :
Inscription : janvier 2011
Messages : 309
Points : 550
Points : 550
il y a un message d'erreur ?

s'il n'y a rien, c'est peut être normal

prenons un exemple simple,
j'ai un table personne(id, prenom)

id prenom
----------
1 Paul
2 Null

si on fait un select * from personne where prenom is not nullalors la ligne avec le Null n'apparait pas du tout


tu peux nous poster ton code pour voir où peut se situer l'erreur stp
tumoo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/05/2011, 13h49   #8
Futur Membre du Club
 
Femme Audrey
Étudiant
Inscription : avril 2011
Messages : 71
Détails du profil
Informations personnelles :
Nom : Femme Audrey
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2011
Messages : 71
Points : 17
Points : 17
Oui si la case reste vide c'est normal, mais là, ça bloque l'affichage de toutes les autres cases... Je sais pas comment expliquer ça...

En revanche pour poster le code, j'aimerais le faire proprement mais je ne sais pas comment on fait.
Je sais je suis un
audrey1912 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/05/2011, 13h51   #9
Membre expérimenté
 
Avatar de tumoo
 
Homme
Développeur informatique
Inscription : janvier 2011
Messages : 309
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 22
Localisation : France, Charente Maritime (Poitou Charente)

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

Informations forums :
Inscription : janvier 2011
Messages : 309
Points : 550
Points : 550
faut pas dire ça, quand on connait pas on pose des questions

tu mets ton code entre les balises CODE, il y a un lien pour cette balise au dessus du texte que tu tapes, c'est le bouton #
tumoo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/05/2011, 13h58   #10
Futur Membre du Club
 
Femme Audrey
Étudiant
Inscription : avril 2011
Messages : 71
Détails du profil
Informations personnelles :
Nom : Femme Audrey
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2011
Messages : 71
Points : 17
Points : 17
Oki. Merci d'être aussi patient...

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
 
<%
app_id_geode = Request.QueryString("id_geode")
 
Set Conn = Server.CreateObject("ADODB.Connection")
Set RsUser = CreateObject("ADODB.Recordset")
verif_connexion bdd_sql, Conn
 
ReqSQL = "SELECT nom, prenom, d_depart, FROM agent WHERE id_geode = '" & app_id_geode &"'"
 
'adOpenStatic pour pouvoir utiliser la propriété RecordCount
RsUser.open ReqSQL, Conn, adOpenStatic
 
response.write "<response>"
If RsUser.RecordCount = 1 Then
response.write "<statut>Success</statut>"
response.write 	"<requester>"
response.write 		"<firstname>" & RsUser("prenom") & "</firstname>"
response.write 		"<name>" & RsUser("nom") & "</name>"
response.write		"<date_d>" & RsUser("d_depart") & "</date_d>"   
                                   Ne fonctionne pas quand valeur à NULL
response.write 	"</requester>"
Else
response.write "<statut>Failure</statut>"
End If
response.write "</response>"
 
RsUser.close()
Conn.close()
%>
Sans compter que j'ai ce problème pour une demie douzaine de champs... (Et oui rien que ça...)
audrey1912 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/05/2011, 14h19   #11
Membre expérimenté
 
Avatar de tumoo
 
Homme
Développeur informatique
Inscription : janvier 2011
Messages : 309
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 22
Localisation : France, Charente Maritime (Poitou Charente)

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

Informations forums :
Inscription : janvier 2011
Messages : 309
Points : 550
Points : 550
Essaie de tester si tes valeurs sont Null avant de les afficher

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
if isNull(RsUser("prenom") ) then
response.write "<firstname></firstname>"
else response.write 		"<firstname>" & RsUser("prenom") & "</firstname>"
end if
 
if isNull(RsUser("nom") ) then
response.write "<name></name>"
else response.write 		"<name>" & RsUser("nom") & "</name>"
end if
 
if isNull(RsUser("d_depart") ) then
response.write "<date_d></date_d>"
else response.write		"<date_d>" & RsUser("d_depart") & "</date_d>"
end if
tumoo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/05/2011, 14h44   #12
Futur Membre du Club
 
Femme Audrey
Étudiant
Inscription : avril 2011
Messages : 71
Détails du profil
Informations personnelles :
Nom : Femme Audrey
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2011
Messages : 71
Points : 17
Points : 17
Je me suis inspirée de ce que tu as écris, cela ne marchait pas.
J'ai fait une petite modif et tout marche pour le mieux!!

Je met quand même la solution au cas où quelqu'un rencontre le même problème.

Code :
1
2
3
4
5
 
if isNull(RsUser("d_depart") ) then
response.write "<date_d> & " " & </date_d>"
else response.write		"<date_d>" & RsUser("d_depart") & "</date_d>"
end if
Merci beaucoup à toi d'avoir pris de ton temps pour m'aider!!!
audrey1912 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/05/2011, 14h48   #13
Membre expérimenté
 
Avatar de tumoo
 
Homme
Développeur informatique
Inscription : janvier 2011
Messages : 309
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 22
Localisation : France, Charente Maritime (Poitou Charente)

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

Informations forums :
Inscription : janvier 2011
Messages : 309
Points : 550
Points : 550
Pas de soucis, c'était avec plaisir, bonne continuation
tumoo est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h03.


 
 
 
 
Partenaires

Hébergement Web