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 21/11/2007, 18h02   #1
Invité de passage
 
Inscription : juin 2007
Messages : 6
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 6
Points : 1
Points : 1
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 :
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.
jedijul est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2007, 19h51   #2
Modérateur
 
Avatar de roro06
 
Inscription : avril 2007
Messages : 1 364
Détails du profil
Informations personnelles :
Âge : 42

Informations forums :
Inscription : avril 2007
Messages : 1 364
Points : 1 551
Points : 1 551
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)
__________________


" 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.
roro06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2007, 22h22   #3
Modérateur
 
Avatar de kaiser59
 
Inscription : novembre 2005
Messages : 1 248
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : novembre 2005
Messages : 1 248
Points : 1 205
Points : 1 205
Envoyer un message via MSN à kaiser59
Salut,

ce serait bien de nous dire ce qu'il y a, à la ligne 48 merci
__________________
Ne dites pas Java pour dire Javascript ! Ces deux codes n'ont rien à voir ! // Essayez d'expliquer, de la façon la plus claire possible votre problème. // Parfois une image vaut mieux qu'un long discours

FAQ ASP
kaiser59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2007, 22h28   #4
Expert Confirmé Sénior

 
Avatar de Immobilis
 
Inscription : mars 2004
Messages : 5 857
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 5 857
Points : 5 973
Points : 5 973
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+
Immobilis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2007, 08h21   #5
Invité de passage
 
Inscription : juin 2007
Messages : 6
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 6
Points : 1
Points : 1
Voici mon code "généré entièrement pour dreamweaver"

Ma ligne 48 est : MM_editCmd.Execute

Code asp :
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
jedijul est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2007, 08h42   #6
Modérateur
 
Avatar de roro06
 
Inscription : avril 2007
Messages : 1 364
Détails du profil
Informations personnelles :
Âge : 42

Informations forums :
Inscription : avril 2007
Messages : 1 364
Points : 1 551
Points : 1 551
Citation:
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 :
1
2
3
4
Response.write(MM_editCmd.commandText)
Response.end()
     MM_editCmd.Execute
ça aidera a voir pourquoi la requete plante
__________________


" 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.
roro06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2007, 08h54   #7
Invité de passage
 
Inscription : juin 2007
Messages : 6
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 6
Points : 1
Points : 1
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 (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
jedijul est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2007, 11h09   #8
Modérateur
 
Avatar de roro06
 
Inscription : avril 2007
Messages : 1 364
Détails du profil
Informations personnelles :
Âge : 42

Informations forums :
Inscription : avril 2007
Messages : 1 364
Points : 1 551
Points : 1 551
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 :
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 :
Citation:
MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param3", 202, 1, 255, Request.Form("goal_other")) ' adVarWChar
pour débugguer, conserve le :
Code :
Response.write(MM_editCmd.commandText)
(qu'il faudra virer après, quand-même)

ça devrait rouler un peu mieux
__________________


" 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.
roro06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h18.


 
 
 
 
Partenaires

Hébergement Web