Problème cellule vide access + page asp

tatsurou25 Messages postés 13 Date d'inscription mercredi 7 avril 2010 Statut Membre Dernière intervention 1 juin 2010 - 21 avril 2010 à 16:39
tatsurou25 Messages postés 13 Date d'inscription mercredi 7 avril 2010 Statut Membre Dernière intervention 1 juin 2010 - 26 avril 2010 à 09:36
bonjour
j'aimerai savoir si la cellule d'un base de donné contient un adresse internet ou si elle est vide, j'ai donc le code suivant

<script type="text/vbscript">
<%
function verification()

%>
MsgBox "erreur, pas de destinataire"
<%
end function
%>
</script>

et la fonction qui appelle cette fonction

sql="SELECT * FROM clients where ((nomentreprise = '"&nomentrepris&"'))"
set rsenvoi = Server.CreateObject("ADODB.Recordset")
rsenvoi.open sql, conn, 3, 1

mailclient = rsenvoi.Fields("Emailfact").Value
rsenvoi.Close
set rsenvoi=Nothing
dim verif

if mailclient = "" then
verif = verification()
else
suite du programme


si il y a une adresse, la suite du programme s'éxecute correctement, et si la cellule d'access est vide il ne se passe rien, meme pas le message disant que le destinataire n'a pas d'adresse dans la base de donnée.

merci de votre aide

2 réponses

cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
21 avril 2010 à 19:10
C'est logique : tu as implémenté ta fonction verification() du mauvais côté (client). Fais aussi attention à l'injection SQL ! Voilà un code qui devrait fonctionner :
<%
Public Function Pure(S) 'As String
 Pure = Replace(S,"'","''")
End Function

[...]

sql "SELECT * FROM clients where ((nomentreprise '" & Pure(nomentrepris) & "'))"
Set rsEnvoi = Conn.Execute(sql)

mailClient = rsEnvoi("Emailfact")
rsEnvoi.Close : Set rsEnvoi = Nothing

If mailClient "" Or mailClient vbNullString Then
Response.Write "Erreur, pas de destinataire ..."
Else
[...]
End If
%>

---
VB.NET is good ... VB6 is better
0
tatsurou25 Messages postés 13 Date d'inscription mercredi 7 avril 2010 Statut Membre Dernière intervention 1 juin 2010
26 avril 2010 à 09:36
désolé pour le temps de réaction mais j'ai été pas mal prit ces dernier temps.

Merci pour ta réponse, c'est mieux maintenant. Encore merci
0
Rejoignez-nous