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 de timeout


Sujet :

ASP

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 161
    Points : 128
    Points
    128
    Par défaut Problème de timeout
    Salut a tous.

    Je vous explique mon problème. J'ai un formulaire de saisie de reservation pour un restaurant qui lorsque l'on clique sur le bouton Valider me renvoi vers une page ASP qui effectue les insertions des données du formulaire dans la base access.
    Je ne sais pas vraiment d'ou vient le problème mais lorsque je clique sur le bouton valider après un long temps de chargement j'ai une page de type "The page cannot be displayed" avec error type :

    "Active Server Pages, ASP 0113 (0x80004005).The maximum amount of time for a script to execute was exceeded. You can change this limit by specifying a new value for the property Server.ScriptTimeout or by changing the value in the IIS administration tools.
    /test/Creer_reservation.asp"

    Voici le code de ma page ASP (il est un peu long)
    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
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
     
    <% ' Date de création: 10/01/2006 %>
    <html>
    <body>
    <!--#include file="fonctions.asp"-->
    <%
     
    On Error Resume Next
    err=0
    'Test les champs obligatoires
    '----------------------------
    if trim(request("nom_inter"))="" OR trim(request("pnom_inter"))="" OR trim(request("tel_inter"))=""	OR trim(request("nom_invit"))="" OR trim(request("date_rep"))="" OR trim(request("nb_couv_prev"))="" OR trim(request("salon"))="selectionnez" OR trim(request("type_rep"))="selectionnez" then
    call AfficheMessage("Erreur utilisateur","Attention les champs en rouges sont obligatoires !","","") 
    response.end
    end if
     
    'Chargement des objets ADO
    '-------------------------
    set conn=Server.createObject("ADODB.Connection")
    set res=Server.createObject("ADODB.Recordset")
    set invit=Server.createObject("ADODB.Recordset")
    set inter=Server.createObject("ADODB.Recordset")
    set typrep=Server.createObject("ADODB.Recordset")
    set effectuer=Server.createObject("ADODB.Recordset")
    set organisme=Server.createObject("ADODB.Recordset")
    set Lesalon=Server.createObject("ADODB.Recordset")
     
    'Ouverture de la connexion
    '-------------------------
    conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & "DBQ=" & Server.mappath(".") & "/RepasMutuel.mdb"
    if err<>0 then
    	 Call AfficheMessage("Erreur Open Connection",err.description,"creer_reservation","")
    	 response.end
    end if
     
    'Initialisation de la requête
    '----------------------------
    res.Open "SELECT * FROM _RESERVATION",conn,adOpenKeyset,adLockOptimistic
    invit.Open "SELECT * FROM _INVITANT",conn,adOpenKeyset,adLockOptimistic
    inter.Open "SELECT * FROM _INTERMEDIAIRE",conn,adOpenKeyset,adLockOptimistic
    typrep.Open "SELECT * FROM _TYPE_REPAS",conn,adOpenKeyset,adLockOptimistic
    effectuer.Open "SELECT * FROM _EFFECTUER",conn,adOpenKeyset,adLockOptimistic
    organisme.Open "SELECT * FROM _ORGANISME",conn,adOpenKeyset,adLockOptimistic
    Lesalon.Open "SELECT * FROM _SALON",conn,adOpenKeyset,adLockOptimistic
    Lesalon.movefirst
    numsal=0			  
    do while Lesalon.eof<>false and trim(request("salon"))<>"Autre"
    	if Lesalon.Fields("LIB")=trim(request("salon")) then
    		numsal=Lesalon.Fields("ID_SALON")
    		Lesalon.movelast
    		Else
    		Lesalon.movenext
    	End if
    loop
    nom_sal=trim(request("salon"))
    If trim(request("salon"))="Autre" then
    	SQL="INSERT INTO _SALON(LIB) VALUES (nom_sal)"
    	conn.Execute(SQL)
    	Lesalon.movelast
    	numsal=Lesalon.Fields("ID_SALON")
    End if
    organisme.movefirst
    numorg=0
    nom_org=trim(request("org"))
    if trim(request("org"))="" then
    	numorg=""
    	Else
    	do While not organisme.eof	
    		if organisme.Fields("LIB")=trim(request("org")) then
    			numorg=organisme.Fields("ID_SALON")
    			organisme.movelast
    			Else
    			organisme.movenext
    		End if
    	loop
    	if numorg=0 then
    		SQL="INSERT INTO _ORGANISME(LIB) VALUES(nom_org)"
    		conn.Execute(SQL)
    		organisme.movelast
    		numorg=organisme.Fields("ID_ORGANISME")
     
    	End if
    end if	
     
    typrep.movefirst
    numrep=0
    do While not typrep.eof
    	   if typrep.Fields("LIB")=trim(request("type_rep")) then
    	   		numrep=typrep.Fields("ID_TYPE_REPAS")
    			typrep.movelast
    			Else
    			typrep.movenext
    	   End if
    loop
     
    invit.movefirst
    numinvit=0
    nom_invit=trim(request("nom_invit"))
    code_budgetaire=trim(request("code_budg"))
    do While not invit.eof
    	if invit.Fields("NOM")=trim(request("nom_invit")) then
    		numinvit=invit.Fields("ID_INVITANT")
    		invit.movelast
    		Else
    		invit.movenext
    	End if
    loop
     
    If numinvit=0 then
    	SQL="INSERT INTO _INVITANT(NOM,REF_ORGANISME,CODE_BUDGETAIRE) VALUES(nom_invit,numorg,code_budgetaire)"
    	conn.Execute(SQL)
    	invit.movelast
    	numinvit=invit.Fields("ID_INVITANT")
    End if
     
    inter.movefirst
    numinter=0
    nom_intermed=trim(request("nom_inter"))
    pnom_intermed=trim(request("pnom_inter"))
    tel_intermed=trim(request("tel_inter"))
    do While not inter.eof
    	if inter.Fields("NOM")=trim(request("nom_inter")) and inter.Fields("PNOM")=trim(request("pnom_inter")) and inter.Fields("TEL")=trim(request("tel_inter")) then
    		numinter=inter.Fields("ID_INTERMEDIAIRE")
    		inter.movelast
    		Else
    		inter.movenext
    	End if
    loop 
     
    If numinter=0 then
    	SQL="INSERT INTO _INTERMEDIAIRE(NOM,PNOM,TEL,REF_INVITANT) VALUES(nom_inter,pnom_inter,tel_inter,numinvit)"
    	conn.Execute(SQL)
    	inter.movelast
    	numinter=inter.Fields("ID_INTERMEDAIRE")
    End if
     
    'res.Addnew
    numres=0
    date_repas=trim(request("date_rep"))
    heure_repas=trim(request("heure_rep"))
    nb_couverts_prevus=trim(request("nb_couv_prev"))
    date_reservation=Date()
    SQL="INSERT INTO _RESERVATION(REF_TYPE_REP,REF_SALON,DATE_RES,DATE_REP,HEURE_REP,NB_COUVERTS_PREV) VALUES (numrep,numsal,date_reservation,date_repas,heure_repas,nb_couverts_prevus)"
    conn.Execute(SQL)
    res.movelast
    numres=res("ID_RESERVATION")
     
    SQL="INSERT INTO _EFFECTUER(REF_RESERVATION,REF_INTERMEDIAIRE) VALUES(numres,numinter)"
    conn.Execute(SQL)
     
     
    res.Update
    res.close
    set res=nothing
     
    effectuer.Update
    effectuer.close
    set effectuer=nothing
     
    typrep.Update
    typrep.close
    set typrep=nothing	
     
    Lesalon.Update
    Lesalon.close
    set Lesalon=nothing
     
    invit.Update
    invit.close
    set invit=nothing	
     
    inter.Update
    inter.close
    set inter=nothing
     
    org.Update
    org.close
    set org=nothing
     
    conn.close
    set conn=nothing
     
     
    ' Message de bon déroulement
    '---------------------------
     
    Call AfficheMessage("Enregistrement réservation","La réservation a bien été enregistrer.","","N'oubliez pas de confirmer votre réservation au maximum un jour avant la date du repas. Votre numéro de réservation est " & numres & ". Veillez à garder ce numéro il vous sera demandé lors de votre confirmation.")
     
    %>
    </body>
    </html>
    Est-ce que quelqu'un vois une erreur dans mon code ?
    Merci d'avance

  2. #2
    Expert éminent
    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
    Points : 9 506
    Points
    9 506
    Par défaut
    Beuh,

    Honnetement, ton code est un peu bizarre.
    Primo, enlève "on error resume next"
    Deuzio, je te suggère de ne pas imbriquer autant de recordset.
    Tersio, si tu a un TimeOut c'est probablement à cause d'une boucle qui ne s'arrête pas de tourner. A eviter.
    C'est quoi l'interêt de ceci?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    do while Lesalon.eof<>false and trim(request("salon"))<>"Autre" 
       if Lesalon.Fields("LIB")=trim(request("salon")) then 
          numsal=Lesalon.Fields("ID_SALON") 
          Lesalon.movelast 
          Else 
          Lesalon.movenext 
       End if 
    loop
    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 161
    Points : 128
    Points
    128
    Par défaut
    Salut

    Merci pour ta reponse.
    J'ai enlevé le on error resume next et j'ai changer le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    do while Lesalon.eof<>false and trim(request("salon"))<>"Autre"
    en
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     do while Lesalon.eof=false and trim(request("salon"))<>"Autre"
    Le timeout ne se fait plus mais il me di que j'ai un probleme par rapport a la ligne 37 qui est celle ci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    res.Open "SELECT * FROM _RESERVATION",conn,adOpenKeyset,adLockOptimistic
    Y-a-t-il une autre solution que les recordset pour acceder à la table ?

  4. #4
    Membre émérite Avatar de franculo_caoulene
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 880
    Points : 2 953
    Points
    2 953
    Par défaut
    Salut,

    Quel message d'erreur obtiens-tu précisément?
    Les Cours et tutoriels JavaScript
    Penser à la recherche et au bouton

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 161
    Points : 128
    Points
    128
    Par défaut
    Salut

    Mon message d'erreur est le suivant

    Error Type:
    ADODB.Recordset (0x800A0BB9)
    Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another.
    /test/Creer_reservation.asp, line 37

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 161
    Points : 128
    Points
    128
    Par défaut

  7. #7
    Expert éminent
    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
    Points : 9 506
    Points
    9 506
    Par défaut
    Je veux bien, mais t'as pas répondu à ma question plus haut.

    Globalement, je pense que tu devrais refaire un peu ta page pour desimbriquer tes recordsets.

    A+

    C'est quoi l'interêt de ceci?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    do while Lesalon.eof<>false and trim(request("salon"))<>"Autre" 
       if Lesalon.Fields("LIB")=trim(request("salon")) then 
          numsal=Lesalon.Fields("ID_SALON") 
          Lesalon.movelast 
          Else 
          Lesalon.movenext 
       End if 
    loop
    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 161
    Points : 128
    Points
    128
    Par défaut
    Je veux bien, mais t'as pas répondu à ma question plus haut.

    Globalement, je pense que tu devrais refaire un peu ta page pour desimbriquer tes recordsets
    A quel question je n'ai pas repondu?

    Comment desimbriquer mes recordsets ?

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 161
    Points : 128
    Points
    128
    Par défaut
    L'interet de cet boucle (ou j'ai changer le eof<>false par eof=false) est de rechercher le salon dans la table et de garder le numéro pour pouvoir inserer ce numéro dans la table reservation plus loin. Donc en clair c'est si le salon selectionné est présent dans la table (<>Autres) alors on garde le numéro pour usage ulterieur



    P.S. : devrait-je utiliser des rs.Addnew plutot que des requete insert ???

  10. #10
    Expert éminent
    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
    Points : 9 506
    Points
    9 506
    Par défaut
    Un Insert est très bien.
    Ceci dit pourquoi faire une recherche?
    L'internaute peut-il faire un choix qui n'existe pas dans ta base??
    A quoi correspond ce choun salon?
    "Winter is coming" (ma nouvelle page d'accueil)

  11. #11
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 161
    Points : 128
    Points
    128
    Par défaut
    choun salon????

    Le salon est selectionnée dans une liste deroulante. Cette liste déroulante prend des valeurs que j'ai taper à la main dans ma page HTML. Avec cette boucle on recherche le salon selectionné dans la liste deroulante dans la table Salon dans la base pour garder le numéro de ce salon. Si un salon ne figure pas dans la liste déroulante on selectionne autre et on tape manuellement le nom du salon dans un champ du formulaire HTML. COmment cela se fait-il que l'erreur se situe au niveau de l'ouverture du 1er recordset :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    res.Open "SELECT * FROM _RESERVATION",conn,adOpenKeyset,adLockOptimistic
    avec cette erreur
    Error Type:
    ADODB.Recordset (0x800A0BB9)
    Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another.
    /test/Creer_reservation.asp, line 37

    la ligne 37 correspond a ligne de code ecrite plus haut.

    Help please !!!!

  12. #12
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 161
    Points : 128
    Points
    128
    Par défaut
    J'ai changer le code. J'ai suivi tes conseil en eparpillant les recordset et en les fermant non pas a la fine mais a chaque fin d'utilisation.

    voila le nouveau code de ma page :
    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
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
     
    <% ' Date de création: 10/01/2006 %>
    <html>
    <body>
    <!--#include file="fonctions.asp"-->
    <%
     
     
    err=0
    'Test les champs obligatoires
    '----------------------------
    if trim(request("nom_inter"))="" OR trim(request("pnom_inter"))="" OR trim(request("tel_inter"))=""	OR trim(request("nom_invit"))="" OR trim(request("date_rep"))="" OR trim(request("nb_couv_prev"))="" OR trim(request("salon"))="selectionnez" OR trim(request("type_rep"))="selectionnez" then
    call AfficheMessage("Erreur utilisateur","Attention les champs en rouges sont obligatoires !","","") 
    response.end
    end if
     
    'Chargement des objets ADO
    '-------------------------
    set conn=Server.createObject("ADODB.Connection")
    conn.provider="Microsoft.Jet.OLEDB.4.0"
    conn.ConnectionString="Data Source=\\qf21-002\test\RepasMutuel.mdb" 
    set res=Server.createObject("ADODB.Recordset")
    set invit=Server.createObject("ADODB.Recordset")
    set inter=Server.createObject("ADODB.Recordset")
    set typrep=Server.createObject("ADODB.Recordset")
    set effectuer=Server.createObject("ADODB.Recordset")
    set organisme=Server.createObject("ADODB.Recordset")
    set Lesalon=Server.createObject("ADODB.Recordset")
     
    'Ouverture de la connexion
    '-------------------------
    conn.Open
    if err<>0 then
    	 Call AfficheMessage("Erreur Open Connection",err.description,"creer_reservation","")
    	 response.end
    end if
     
    'Initialisation de la requête
    '----------------------------
    Lesalon.Open "SELECT * FROM _SALON",conn
     
    Lesalon.movefirst
    numsal=0			  
    do while Lesalon.eof=false and trim(request("salon"))<>"Autre"
    	if Lesalon.Fields("LIB")=trim(request("salon")) then
    		numsal=Lesalon.Fields("ID_SALON")
    		Lesalon.movenext
    		Else
    		Lesalon.movenext
    	End if
    loop
    nom_sal=trim(request("salon"))
    If trim(request("salon"))="Autre" then
    	SQL="INSERT INTO _SALON(LIB) VALUES (&nom_sal&)"
    	conn.Execute(SQL)
    	Lesalon.movelast
    	numsal=Lesalon.Fields("ID_SALON")
    End if	 
    Lesalon.close
    set Lesalon=nothing
     
    organisme.Open "SELECT * FROM _ORGANISME",conn
     
    organisme.movefirst
    numorg=0
    nom_org=trim(request("org"))
    if trim(request("org"))="" then
    	numorg=""
    	Else
    	do While not organisme.eof	
    		if organisme.Fields("LIB")=trim(request("org")) then
    			numorg=organisme.Fields("ID_SALON")
    			organisme.movelast
    			Else
    			organisme.movenext
    		End if
    	loop
    	if numorg=0 then
    		SQL="INSERT INTO _ORGANISME(LIB) VALUES(&nom_org&)"
    		conn.Execute(SQL)
    		organisme.movelast
    		numorg=organisme.Fields("ID_ORGANISME")
     
    	End if
    end if	
     
    organisme.close
    set organisme=nothing
     
    typrep.Open "SELECT * FROM _TYPE_REPAS",conn
     
    typrep.movefirst
    numrep=0
    do While not typrep.eof
    	   if typrep.Fields("LIB")=trim(request("type_rep")) then
    	   		numrep=typrep.fields("ID_TYPEREPAS")
    			typrep.movenext
    			Else
    			typrep.movenext
    	   End if
    loop
     
    typrep.close
    set typrep=nothing	
     
    invit.Open "SELECT * FROM _INVITANT",conn
     
    invit.movefirst
    numinvit=0
    nom_invit=trim(request("nom_invit"))
    code_budgetaire=trim(request("code_budg"))
    do While not invit.eof
    	if invit.Fields("NOM")=trim(request("nom_invit")) then
    		numinvit=invit.Fields("ID_INVITANT")
    		invit.movenext
    		Else
    		invit.movenext
    	End if
    loop				  
     
    If numinvit=0 then
    	SQL="INSERT INTO _INVITANT(NOM,REF_ORGANISME,CODE_BUDGETAIRE) VALUES(&nom_invit&,'"&numorg&"','"&code_budgetaire"')"
    	conn.Execute(SQL)
    	numinvit=invit.Fields("ID_INVITANT")
    End if
     
    invit.close
    set invit=nothing	
     
    inter.Open "SELECT * FROM _INTERMEDIAIRE",conn
     
    inter.movefirst
    numinter=0
    nom_intermed=trim(request("nom_inter"))
    pnom_intermed=trim(request("pnom_inter"))
    tel_intermed=trim(request("tel_inter"))
    do While not inter.eof
    	if inter.Fields("NOM")=trim(request("nom_inter")) and inter.Fields("PNOM")=trim(request("pnom_inter")) and inter.Fields("TEL")=trim(request("tel_inter")) then
    		numinter=inter.Fields("ID_INTERMEDIAIRE")
    		inter.movelast
    		Else
    		inter.movenext
    	End if
    loop 
     
    If numinter=0 then
    	SQL="INSERT INTO _INTERMEDIAIRE(NOM,PNOM,TEL,REF_INVITANT) VALUES(&nom_inter&,'"&pnom_inter&"','"&tel_inter&"','"&numinvit&"')"
    	conn.Execute(SQL)
    	inter.movelast
    	numinter=inter.Fields("ID_INTERMEDAIRE")
    End if
     
    inter.close
    set inter=nothing
     
    numres=0
    date_repas=trim(request("date_rep"))
    heure_repas=trim(request("heure_rep"))
    nb_couverts_prevus=trim(request("nb_couv_prev"))
    date_reservation=Date()
    SQL="INSERT INTO _RESERVATION(REF_TYPE_REP,REF_SALON,DATE_RES,DATE_REP,HEURE_REP,NB_COUVERTS_PREV) values (&numrep&,'"&numsal&"','"&date_reservation&"','"&date_repas&"','"&heure_repas&"','"&nb_couverts_prevus&"')"
    conn.Execute(SQL)
     
    numres=res("ID_RESERVATION")
     
    SQL="INSERT INTO _EFFECTUER(REF_RESERVATION,REF_INTERMEDIAIRE) VALUES(&numres&,'"&numinter&"')"
    conn.Execute(SQL)																												 
     
     
    conn.close
    set conn=nothing
     
     
    ' Message de bon déroulement
    '---------------------------
     
    Call AfficheMessage("Enregistrement réservation","La réservation a bien été enregistrer.","","N'oubliez pas de confirmer votre réservation au maximum un jour avant la date du repas. Votre numéro de réservation est " & numres & ". Veillez à garder ce numéro il vous sera demandé lors de votre confirmation.")
     
    %>
    </body>
    </html>

    Maintenant le problème se pose sur les conn.execute(SQL). Y a-t-il un problème de syntaxe dans mes requètes...

  13. #13
    Membre averti Avatar de bourvil
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    411
    Détails du profil
    Informations personnelles :
    Localisation : Israël

    Informations forums :
    Inscription : Juin 2002
    Messages : 411
    Points : 329
    Points
    329
    Par défaut
    rajoute des guillemets
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SQL="INSERT INTO _EFFECTUER(REF_RESERVATION,REF_INTERMEDIAIRE) VALUES("&numres&",'"&numinter&"')"
    conn.Execute(SQL)
    Franchement, je suis capable du meilleur comme du pire, mais, dans le pire, c'est moi le meilleur.
    Coluche

  14. #14
    Expert éminent
    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
    Points : 9 506
    Points
    9 506
    Par défaut
    Citation Envoyé par Mateache
    Le salon est selectionnée dans une liste deroulante. Cette liste déroulante prend des valeurs que j'ai taper à la main dans ma page HTML.
    Une liste deroulante affiche un choix auquel est associée une valeur. Cette valeur DOIT être l'ID de ton salon!! Comme ça pas besoin de chercher.
    Pour ce qui est de l'insersion, il faut faire attention au type de données. Il ne faut pas mettre d'apostrophe si tu insère une valeur dans un champ de type nombre et inversement.

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

  15. #15
    Membre éclairé
    Inscrit en
    Janvier 2004
    Messages
    633
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 633
    Points : 721
    Points
    721
    Par défaut
    Citation Envoyé par Mateache
    ... rechercher le salon dans la table...
    A ne pas confondre avec rechercher la table dans le salon

    Citation Envoyé par Mateache
    Le salon est selectionnée dans une liste deroulante. Cette liste déroulante prend des valeurs que j'ai taper à la main dans ma page HTML
    Ce ne sont pas des infos que tu récupères de ta base ? ça ne serait pas plus simple ?

    Citation Envoyé par Mateache
    Maintenant le problème se pose sur les conn.execute(SQL). Y a-t-il un problème de syntaxe dans mes requètes...
    Met les en commentaire et affiche ta variable SQL pour vérifier que tu as bien ce que tu souhaites

  16. #16
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 161
    Points : 128
    Points
    128
    Par défaut
    Merci a tous pour votre aide

    Les conn.execute(sql) ne amrche toujours pas mais ce n'est pas la meme erreur cette fois ci l'erreur est :

    Microsoft JET Database Engine (0x80040E10)
    No value given for one or more required parameters

    J'ai aussi une erreur sur les recordset.movelast qui est la suivante :

    Microsoft JET Database Engine (0x80040E24)
    Rowset does not support fetching backward

    Quelqu'un sais a quoi correspondent ces erreurs ?

    Merci encore pour votre aide precieuse

  17. #17
    Membre éclairé
    Inscrit en
    Janvier 2004
    Messages
    633
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 633
    Points : 721
    Points
    721
    Par défaut
    Le premier message te dit que dans ton insert tu ne fournis pas tous les champs requis donc affiche ta variable SQL pour vérifier.

    La deuxieme dit que tu tentes de parcourir ton recordset en reculant alors qu'il n'est définit que pour être parcouru en avancant.

  18. #18
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 161
    Points : 128
    Points
    128
    Par défaut
    Bon j'ai afficher mes requetes, et se sont les variables numeriques qui ne s'affiche pas correctement.
    Un exemple de requetes :
    SQL="INSERT INTO _INVITANT(REF_ORGANISME,NOM,CODE_BUDGETAIRE) VALUES(numorg,'"&nom_invit&"','"&code_budgetaire&"')"

    et l'affichage est :
    INSERT INTO _INVITANT(REF_ORGANISME,NOM,CODE_BUDGETAIRE) VALUES(numorg,'cmut','46546')

    Donc c'est le champ numorg qui n'est pas pris en compte. Ai-je mal ecrit la requête ?


    c'est quoi les options que je doit mettre sur le recordset
    adopenkeyset et adlockoptimistic ? Ou dois-je mettre des numéros. Lesquelles ?

  19. #19
    Membre émérite Avatar de franculo_caoulene
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 880
    Points : 2 953
    Points
    2 953
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SQL="INSERT INTO _INVITANT(REF_ORGANISME,NOM,CODE_BUDGETAIRE) VALUES(numorg,'"&nom_invit&"','"&code_budgetaire&"')"
    Il n'y a rien qui te choque entre numorg, nom_invit et code_budgetaire?
    Les Cours et tutoriels JavaScript
    Penser à la recherche et au bouton

  20. #20
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 161
    Points : 128
    Points
    128
    Par défaut
    oui je sais que numorg n'a ni & ni " mais on m'as dit de ne pas traitrr les variables numérique comme les variables textuelles. Quels caractères faut ils que j'ajoute avant et apres numorg

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [TOMCAT] Problème de timeout d'une servlet
    Par tuxor dans le forum Tomcat et TomEE
    Réponses: 5
    Dernier message: 18/09/2007, 12h04
  2. Problème de Timeout
    Par clementv dans le forum Java ME
    Réponses: 1
    Dernier message: 14/06/2006, 19h01
  3. FTP (TIdFTP) : problème de TimeOut
    Par michelci dans le forum Web & réseau
    Réponses: 7
    Dernier message: 26/10/2005, 17h24
  4. Problème de timeout idTcpClient
    Par Phébus dans le forum Web & réseau
    Réponses: 7
    Dernier message: 22/08/2005, 16h12
  5. Problème de timeout et de déconnexion cliente
    Par Aurelien92 dans le forum CORBA
    Réponses: 18
    Dernier message: 24/08/2004, 14h32

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