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 formlaire avec "radio" + access + ASP VBScript


Sujet :

ASP

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 6
    Points : 5
    Points
    5
    Par défaut problème formlaire avec "radio" + access + ASP VBScript
    BOnjour,

    Voici mon problème...
    Depuis plusieurs années maintenant, je génère des formulaire en ASP VBScript avec dreamweaver.
    Les insertions entrent dans une db access et tout se passe très bien.

    Je ne sais pour quel raison, quand je veux valider mon formulaire, mon browser m'affiche l'erreur suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Microsoft OLE DB Provider for ODBC Drivers error '80040e57'
     
    [Microsoft][ODBC Microsoft Access Driver]Invalid string or buffer length
     
    /dossiers/EMF/index_evaluation.asp, line 48
    Bizarrement, cette erreur n'arrive que lorsque un bouton radio reste "non coché". Si je coche bien mes boutons radio... (ou un de la série) le formulaire est ok et l'insertion entre bien dans le DB.

    Je ne comprends pas.
    Merci d'avance pour votre aide.

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

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

    Bizarre ton truc !
    peut-etre un probleme de null
    (du genre :
    request("mon_radio") : null si rien n'est coché) ou inversement : request("mon_radio") trop long pour la longueur définie dans la base de données

    (je pencherais plutot pour la deuxieme)

  3. #3
    Membre expérimenté
    Avatar de kaiser59
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    1 264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 1 264
    Points : 1 350
    Points
    1 350
    Par défaut
    Salut,

    ce serait bien de nous dire ce qu'il y a, à la ligne 48 merci

  4. #4
    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 512
    Points
    9 512
    Par défaut
    Salut,
    Citation Envoyé par jedijul Voir le message
    Depuis plusieurs années maintenant, je génère des formulaire en ASP VBScript avec dreamweaver.
    Ben voilà, de temps en temps il faut le faire un peu soit-même pour comprendre comment ça marche.
    Tu nous montre un peu de code?

    A+

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Voici mon code "généré entièrement pour dreamweaver"

    Ma ligne 48 est : MM_editCmd.Execute

    Code asp : 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
    <%@LANGUAGE="VBSCRIPT"%>
    <!--#include file="Connections/emfenquete.asp" -->
    <%
    Dim MM_editAction
    MM_editAction = CStr(Request.ServerVariables("SCRIPT_NAME"))
    If (Request.QueryString <> "") Then
      MM_editAction = MM_editAction & "?" & Server.HTMLEncode(Request.QueryString)
    End If
     
    ' boolean to abort record edit
    Dim MM_abortEdit
    MM_abortEdit = false
    %>
    <%
    If (CStr(Request("MM_insert")) = "form1") Then
      If (Not MM_abortEdit) Then
        ' execute the insert
        Dim MM_editCmd
     
        Set MM_editCmd = Server.CreateObject ("ADODB.Command")
        MM_editCmd.ActiveConnection = MM_emfenquete_STRING
        MM_editCmd.CommandText = "INSERT INTO enquete (rating, goal, goal_other, keynote1, keynote2, keynote3, keynote4, keynote5, keynote6, keynote7, keynote8, keynote9, keynote10, keynote11, keynote12, keynote13, preevent, travel, locomotion, locomotion_other, venue, reception, binder, suggestions) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)" 
        MM_editCmd.Prepared = true
        MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param1", 202, 1, 255, Request.Form("rating")) ' adVarWChar
        MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param2", 202, 1, 255, Request.Form("goal")) ' adVarWChar
        MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param3", 202, 1, 255, Request.Form("goal_other")) ' adVarWChar
        MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param4", 202, 1, 255, Request.Form("keynote1")) ' adVarWChar
        MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param5", 202, 1, 255, Request.Form("keynote2")) ' adVarWChar
        MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param6", 202, 1, 255, Request.Form("keynote3")) ' adVarWChar
        MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param7", 202, 1, 255, Request.Form("keynote4")) ' adVarWChar
        MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param8", 202, 1, 255, Request.Form("keynote5")) ' adVarWChar
        MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param9", 202, 1, 255, Request.Form("keynote6")) ' adVarWChar
        MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param10", 202, 1, 255, Request.Form("keynote7")) ' adVarWChar
        MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param11", 202, 1, 255, Request.Form("keynote8")) ' adVarWChar
        MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param12", 202, 1, 255, Request.Form("keynote9")) ' adVarWChar
        MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param13", 202, 1, 255, Request.Form("keynote10")) ' adVarWChar
        MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param14", 202, 1, 255, Request.Form("keynote11")) ' adVarWChar
        MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param15", 202, 1, 255, Request.Form("keynote12")) ' adVarWChar
        MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param16", 202, 1, 255, Request.Form("keynote13")) ' adVarWChar
        MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param17", 202, 1, 255, Request.Form("preevent")) ' adVarWChar
        MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param18", 202, 1, 255, Request.Form("travel")) ' adVarWChar
        MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param19", 202, 1, 255, Request.Form("locomotion")) ' adVarWChar
        MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param20", 202, 1, 255, Request.Form("locomotion_other")) ' adVarWChar
        MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param21", 202, 1, 255, Request.Form("venue")) ' adVarWChar
        MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param22", 202, 1, 255, Request.Form("reception")) ' adVarWChar
        MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param23", 202, 1, 255, Request.Form("binder")) ' adVarWChar
        MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param24", 203, 1, 1073741823, Request.Form("suggestions")) ' adLongVarWChar
        MM_editCmd.Execute
        MM_editCmd.ActiveConnection.Close
     
        ' append the query string to the redirect URL
        Dim MM_editRedirectUrl
        MM_editRedirectUrl = "index_evaluationok.asp"
        If (Request.QueryString <> "") Then
          If (InStr(1, MM_editRedirectUrl, "?", vbTextCompare) = 0) Then
            MM_editRedirectUrl = MM_editRedirectUrl & "?" & Request.QueryString
          Else
            MM_editRedirectUrl = MM_editRedirectUrl & "&" & Request.QueryString
          End If
        End If
        Response.Redirect(MM_editRedirectUrl)
      End If
    End If
    %>
    Encore merci :-)

    --------
    Utilise la balise code (#) la prochaine fois le code n'est pas une citation.
    kaiser59

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 480
    Points : 1 978
    Points
    1 978
    Par défaut
    Ben voilà, de temps en temps il faut le faire un peu soit-même pour comprendre comment ça marche.
    là, je te rejoins completement. Les générateurs de code: bof bof.

    @jedijul :
    Pour revenir à nos moutons :
    rajoutes les lignes de code suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Response.write(MM_editCmd.commandText)
    Response.end()
         MM_editCmd.Execute
    ça aidera a voir pourquoi la requete plante

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Voici ce qu'il m'affiche...

    INSERT INTO enquete (rating, goal, goal_other, keynote1, keynote2, keynote3, keynote4, keynote5, keynote6, keynote7, keynote8, keynote9, keynote10, keynote11, keynote12, keynote13, preevent, travel, locomotion, locomotion_other, venue, reception, binder, suggestions) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 480
    Points : 1 978
    Points
    1 978
    Par défaut
    Je viens d'essayer de générer ce genre de trucBiduleMachinChoseImbitable avec dreamweaver, mais on ne doit pas avoir la même version (j'ai MX), car il me génère tout autre chose.
    <coupDeGueule>
    Comment peut-on faire ce type de programmation avec des logiciels pareils, qui vous génèrent des trucs monstrueux impossible à analyser rapidement, et s'imaginer qu'on gagne du temps (et donc de l'argent) à court, moyen ou long terme ? s'il faut perdre trois jours à debugger dés que le bout d'code perd les pédales ou qu'on a une petite modif à effectuer, je me demande où est le gain !!
    Je sais pas si vous avez essayé de comprendre le mécanisme de pagination de recordset généré par DW MX, moi, j'ai abandonné !
    J'utilise DW depuis des années, je suis devenu un virtuose du clavier car j'ai jamais voulu utiliser ces moulinettes toutes faites et je fais tout moi-même, au moins je sais où je vais
    </coupDeGueule> (Rhaaa, ça fait du bien !)



    Bon, bref !

    je te conseille plutot de générer ta requete toi même de la façon suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     MM_editCmd.CommandText = "INSERT INTO enquete (rating, goal, goal_other, keynote1, keynote2, keynote3, keynote4, keynote5, keynote6, keynote7, keynote8, keynote9, keynote10, keynote11, keynote12, keynote13, preevent, travel, locomotion, locomotion_other, venue, reception, binder, suggestions) VALUES ('" + 
    Request.Form("rating") + "', '" + Request.Form("goal") + etc ...
    en supprimant tout ce qui est inutile, en particulier les :
    MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param3", 202, 1, 255, Request.Form("goal_other")) ' adVarWChar
    pour débugguer, conserve le :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Response.write(MM_editCmd.commandText)
    (qu'il faudra virer après, quand-même)

    ça devrait rouler un peu mieux

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