IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP Discussion :

Problème avec du code asp


Sujet :

ASP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 48
    Par défaut Problème avec du code asp
    Bonjours à tous

    J'ai un petit problème ave un script en ASP voici un erreur que j'obtien

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Microsoft JET Database Engine erreur '80040e14' 
     
    Erreur de syntaxe (virgule) dans l'expression 'j=11, 24 and m=10, 2 and a=2007, 2005 and element='a104' and annule=false'. 
     
    /chenebleu/informatique/images/cardinal112/reservelocal/ok.asp, ligne 154
    Explication:

    Je dois développez un script qui ajoute un enregistrement à ma base de donnée et lorsque on appuie sur un boutton, un autre champ apparait.

    Quand j'envoie une requête sans ajouter de champ tout fonctionne super bien

    Je vous montre le code qui cause problème... Selon moi ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    <%
     
     
    ...
     
    if instr(j,",")>0 then
     
     
    j= Split(j,",", -1, 1)
    m= Split(m,",", -1, 1)
    a= Split(a,",", -1, 1)
     
     
    For i = 0 to Ubound(i) step 1
     
    %>
     
     
     
     
     
    <%
     
    next
    end if
    %>

    Et finalement voici le code de connexion à la base de donnée aux alentours de la ligne 154:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    <%
     
     
     
    dsn ="DBQ="&Server.Mappath("./db/resa.mdb")&";Driver={Microsoft Access Driver(*.mdb)};"
     
     
     
     
    dsn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.Mappath("./db/xxxxxxxxxxxxxxxxxx.mdb")&";"
     
     
    ' VERIFIE SI L'ÉLÉMENT À DÉJA ÉTÉ RÉSERVÉ
     
    response.buffer = true
    'declaration
    dim useraction
    dim conn,dsn,rs,sql
    'if the user submit the form
     
    useraction = request("action")
     
    Set Conn = Server.CreateObject("ADODB.Connection")
    Set Rs = Server.CreateObject("ADODB.Recordset")
    Conn.Open dsn
    SQL = "SELECT *  FROM reservation WHERE j=" & j & "  and m=" & m & " and a=" &  a & " and element='" & elements & "' and annule=false order by element ASC"
    rs.open sql,conn
     
    	if Not RS.EOF then
    	isP1 = false
    	isP2 = false
    	isMidi = false
    	isP3 = false
    	isP4 = false
    	isSoir = false
    	Do While Not RS.EOF
    		if RS("periode1") then
    			isP1=true
    		end if
    		if RS("periode2") then
    			isP2=true
    		end if
    		if RS("midi") then
    			isMidi=true
    		end if
    		if RS("periode3") then
    			isP3=true
    		end if
    		if RS("periode4") then
    			isP4=true
    		end if
    		if RS("soiree") then
    			isSoir=true
    		end if
    		RS.MoveNext
    	loop
    	end if
    	isResValide = true
    	if isP1 and peri1 = "on" then
    		isResValide = false
    	end if
    	if isP2 and peri2 = "on" then
    		isResValide = false
    	end if
    	if isMidi and midi = "on" then
    		isResValide = false
    	end if
    	if isP3 and peri3 = "on" then
    		isResValide = false
    	end if
    	if isP4 and peri4 = "on" then
    		isResValide = false
    	end if
    	if isSoir and soir = "on" then
    		isResValide = false
    	end if
    'if rs.eof and rs.bof then
    if isResValide then
    	Randomize()
    	intRangeSize = 9999999 - 1000000 + 1
    	sngRandomValue = intRangeSize * Rnd()
    	sngRandomValue = sngRandomValue + intLowerBound
    	cle = Int(sngRandomValue)
    	Session("SID") = cle
    %>

  2. #2
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Salut,

    Il faut que tu choisisses lequel des deux tu veux utiliser:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    dsn ="DBQ="&Server.Mappath("./db/resa.mdb")&";Driver={Microsoft Access Driver(*.mdb)};"
    dsn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.Mappath("./db/xxxxxxxxxxxxxxxxxx.mdb")&";"
    Le premier devrait suffire. Sinon, jette un oeil à ce post.

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 48
    Par défaut
    Bonjour
    J'ai encore
    la meme erreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Erreur de syntaxe (virgule) dans l'expression 'j=11, 26 and m=10, 1 and a=2007, 2005 and element='a104' and annule=false'.
    Après avoir enlever la 2e connexion...Voici mon code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    <%
     
     
     
    dsn ="DBQ="&Server.Mappath("./db/resa.mdb")&";Driver={Microsoft Access Driver(*.mdb)};"
     
     
     
     
    dsn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.Mappath("./db/xxxxxxxxxxxxxxxxxx.mdb")&";"
     
     
    ' VERIFIE SI L'ÉLÉMENT À DÉJA ÉTÉ RÉSERVÉ
     
    response.buffer = true
    'declaration
    dim useraction
    dim conn,dsn,rs,sql
    'if the user submit the form
     
    useraction = request("action")
     
    Set Conn = Server.CreateObject("ADODB.Connection")
    Set Rs = Server.CreateObject("ADODB.Recordset")
    Conn.Open dsn
    SQL = "SELECT *  FROM reservation WHERE j=" & j & "  and m=" & m & " and a=" &  a & " and element='" & elements & "' and annule=false order by element ASC"
    rs.open sql,conn
     
    	if Not RS.EOF then
    	isP1 = false
    	isP2 = false
    	isMidi = false
    	isP3 = false
    	isP4 = false
    	isSoir = false
    	Do While Not RS.EOF
    		if RS("periode1") then
    			isP1=true
    		end if
    		if RS("periode2") then
    			isP2=true
    		end if
    		if RS("midi") then
    			isMidi=true
    		end if
    		if RS("periode3") then
    			isP3=true
    		end if
    		if RS("periode4") then
    			isP4=true
    		end if
    		if RS("soiree") then
    			isSoir=true
    		end if
    		RS.MoveNext
    	loop
    	end if
    	isResValide = true
    	if isP1 and peri1 = "on" then
    		isResValide = false
    	end if
    	if isP2 and peri2 = "on" then
    		isResValide = false
    	end if
    	if isMidi and midi = "on" then
    		isResValide = false
    	end if
    	if isP3 and peri3 = "on" then
    		isResValide = false
    	end if
    	if isP4 and peri4 = "on" then
    		isResValide = false
    	end if
    	if isSoir and soir = "on" then
    		isResValide = false
    	end if
    'if rs.eof and rs.bof then
    if isResValide then
    	Randomize()
    	intRangeSize = 9999999 - 1000000 + 1
    	sngRandomValue = intRangeSize * Rnd()
    	sngRandomValue = sngRandomValue + intLowerBound
    	cle = Int(sngRandomValue)
    	Session("SID") = cle
    %>
    Et cellui...selon moi...qui cause le problème

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    <%
     
     
    ...
     
    if instr(j,",")>0 then
     
     
    j= Split(j,",", -1, 1)
    m= Split(m,",", -1, 1)
    a= Split(a,",", -1, 1)
     
     
    For i = 0 to Ubound(i) step 1
     
    %>
    Merci

  4. #4
    Modérateur
    Avatar de roro06
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    1 480
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 480
    Par défaut
    Bonjour

    Oui

    j=11, 26 and m=10, 1 and a=2007, 2005 and element='a104' and ...
    n'est pas valide en SQL

    au besoin, tu peux mettre : (pareil pour les autres champs, of course)


    N'oubliez pas de consulter les FAQ ASP et les cours et tutoriels ASP

    " La vie c'est quelque chose de très fort et de très beau.... La vie appartient a tous les vivants. It's both a dream and a feeling. C'est être ce que nous ne sommes pas sans le rester. La vie c'est mourir aussi....Et mourir c'est vraiment strong...c'est rester en vie au delà de la mort...Tous ceux qui sont morts n'ignorent pas de le savoir."
    (J.C. VanDamme, humoriste et philosophe belge . A moins que ce ne soit l'inverse ...)

    Chuck Norris comprend JC Van Damme.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 48
    Par défaut
    Ayoye merci !

    Mais maintenant j'ai cette petite erreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Erreur d'exécution Microsoft VBScript erreur '800a000d' 
     
    Type incompatible: 'Ubound' 
     
    /chenebleu/informatique/images/cardinal112/reservelocal/ok.asp, ligne 323
    Voici le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    31
    32
    if instr(j,",")=0 and j<>"" then
     
    %>
     
     <% =j%>/<% =m%>/<% =a%> 
     
     
    <%
    end if
     
     
    if instr(j,",")>0 then
     
    j= Split(j,",", -1, 1)
    m= Split(m,",", -1, 1)
    a= Split(a,",", -1, 1)
     
     
    For i = 0 to Ubound(j) step 1
     
    %>
     
     
     <% =j%>/<% =m%>/<% =a%> 
     
     
     
    <%
     
    next
    end if
    %>
    Merci

  6. #6
    Modérateur
    Avatar de roro06
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    1 480
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 480
    Par défaut
    if instr(j,",")>0 then

    j= Split(j,",", -1, 1)
    Utilises peut-etre une deuxieme variable
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if instr(j,",")>0 then
     
    j2= Split(j,",", -1, 1)


    N'oubliez pas de consulter les FAQ ASP et les cours et tutoriels ASP

    " La vie c'est quelque chose de très fort et de très beau.... La vie appartient a tous les vivants. It's both a dream and a feeling. C'est être ce que nous ne sommes pas sans le rester. La vie c'est mourir aussi....Et mourir c'est vraiment strong...c'est rester en vie au delà de la mort...Tous ceux qui sont morts n'ignorent pas de le savoir."
    (J.C. VanDamme, humoriste et philosophe belge . A moins que ce ne soit l'inverse ...)

    Chuck Norris comprend JC Van Damme.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. include file avec du code asp a interpreter
    Par Alex35 dans le forum ASP
    Réponses: 2
    Dernier message: 19/12/2006, 15h24
  2. Petit problème avec un code : besoin de votre aide :)
    Par loicdu4000 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 01/09/2006, 18h02
  3. [MySQL] OU est le probléme avec ce code ??
    Par adlich dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 27/04/2006, 17h47
  4. Problème avec les apostrophes ASP - VBScript
    Par memebut dans le forum ASP
    Réponses: 4
    Dernier message: 19/08/2005, 15h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo