Formulaire

Résolu
catger Messages postés 7 Date d'inscription lundi 22 octobre 2007 Statut Membre Dernière intervention 29 octobre 2007 - 22 oct. 2007 à 17:31
catger Messages postés 7 Date d'inscription lundi 22 octobre 2007 Statut Membre Dernière intervention 29 octobre 2007 - 29 oct. 2007 à 13:51
Bonjour,




Je travaille avec une base Access et Coldfusion.
J’ai créé un formulaire grâce auquel le visiteur peut
ajouter un commentaire.






Ø    

Base Access : champ memo

<!--[endif]-->



<!--[if !supportLists]-->


Ø    

Formulaire CFM : <textarea>

<!--[endif]-->



Pour l’instant, lorsque que le texte dépasse +/- 500
caractères (espaces compris), le serveur renvoi un message d’erreur :






« Error
Executing Database Query.







Application
uses a value of the wrong type for the current operation. »








En dessous de +/- 500 caractères, les données sont
correctement insérées dans la base.
Quelqu’un a-t-il déjà rencontré ce problème et trouvé une
solution ?





Merci d’avance pour votre aide.

11 réponses

nickadele Messages postés 1251 Date d'inscription mercredi 7 août 2002 Statut Modérateur Dernière intervention 10 avril 2013
27 oct. 2007 à 13:28
Re catger,
As-tu essayé la même opération d'insertion mais avec CFQuery ou CFStoredproc ?

Si cela fonctionne avec CFQuery ou CFStoredproc, c'est qu'il y a peut-être une limite de caractères au niveau de la fonction CFInsert. Pour ma part je n'utilise jamais CFInsert.

Nickadele
----------------------------------------------
non, ma belle ne s'appel pas Adèle
3
syndrael Messages postés 2378 Date d'inscription lundi 4 février 2002 Statut Membre Dernière intervention 29 décembre 2012 20
23 oct. 2007 à 08:40
Bonjour,
Tout d'abord évite Access pour ce genre d'application sauf si tu n'as ke deux ou trois utilisateurs..
Ensuite tu as deux solutions:
- Soit tu préviens l'internaute de mettre moins de 500 caractères
- Soit tu fais un javascript ki limite automatiquement à 500..
Et surtout à l'enregistrement tu coupes ta chaine à 500 caractères pour éviter les erreurs..
Autre conseil: convertis les éventuelles balises HTML ki pourraient être insertés dans le TextArea..
S.
0
catger Messages postés 7 Date d'inscription lundi 22 octobre 2007 Statut Membre Dernière intervention 29 octobre 2007
23 oct. 2007 à 08:49
Ce serait une solution, mais je préfère continuer à chercher une solution. Le formulaire fonctionne parfaitement pour un autre site sur le même principe. D'autre part, comme il s'agit de commentaires de livres, je ne souhaite pas limiter le texte à 500 caractères.

Pour Access, je n'ai malheureusement pas le choix.

Merci pour cette 1ere réponse.
0
nickadele Messages postés 1251 Date d'inscription mercredi 7 août 2002 Statut Modérateur Dernière intervention 10 avril 2013
23 oct. 2007 à 15:55
Bonjour,

ton problème est simple, il s'agit d'un problème de limitation de caractères au niveau de l'ODBC.
Pour solutionner : via l'admin CFF >> Data Source >> Editer le Data Source Name en question >> Show Advanced Settings et tu coches CLOB (ça c'est pour les grandes zones de texte ) et BLOB (ça c'est pour les grandes zones de binary, ex : le stockage d'image en DB) >> Submit

Et normalement tout est en ordre !

Nickadele
----------------------------------------------
non, ma belle ne s'appel pas Adèle
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
catger Messages postés 7 Date d'inscription lundi 22 octobre 2007 Statut Membre Dernière intervention 29 octobre 2007
25 oct. 2007 à 09:01
Bonjour Nickadele,

J'ai transmis ton message à la personne qui gère le serveur. Il a fait les modifications que tu proposais, mais malheureusement mon champ de formulaire reste désespérément bloqué à 500 caractères. :-{

Merci pour ton aide. Si tu as une autre idée, elle sera la bienvenue !!

Cat
0
nickadele Messages postés 1251 Date d'inscription mercredi 7 août 2002 Statut Modérateur Dernière intervention 10 avril 2013
25 oct. 2007 à 13:10
Bonjour,


juste une question : As-tu bien définit ton champs dans la DB au format Mémo ?

Nickadele
----------------------------------------------
non, ma belle ne s'appel pas Adèle
0
catger Messages postés 7 Date d'inscription lundi 22 octobre 2007 Statut Membre Dernière intervention 29 octobre 2007
25 oct. 2007 à 21:07
Oui, il est au format mémo.

Cat
0
nickadele Messages postés 1251 Date d'inscription mercredi 7 août 2002 Statut Modérateur Dernière intervention 10 avril 2013
26 oct. 2007 à 09:48
Re,

pourrais-tu donner plus de détails (source) sur la méthode utilisée pour insérer et updater tes données.

Nickadele
----------------------------------------------
non, ma belle ne s'appel pas Adèle
0
catger Messages postés 7 Date d'inscription lundi 22 octobre 2007 Statut Membre Dernière intervention 29 octobre 2007
26 oct. 2007 à 12:49
J'ai une 1ère page avec le formulaire dont voici le code :




<cfform name="suggestionsdoc" method="post" action="livresenpartage_ULIVcomR.cfm">

  <label>Titre * :</label>
 

  <label>Auteur * :</label>
 

<label>Editeur :</label>

  <label>Votre commentaire * :</label>
  <textarea name="TCOMMENT" cols="60" rows="10"></textarea>

  NB : actuellement, ce champ n'accepte pas un texte de plus de 500 caractères.

Etes-vous  inscrit à la bibliothèque ?
Oui
 

 

</cfform>

Et une 2e page pour l'insertion des données dans la base dont voici les balises :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<CFINSERT DATASOURCE="LIVRES_BD"
TABLENAME="TEMPCOMMENTAIRES"
FORMFIELDS="TAUTEUR, TLIVRE, TCOMMENT, TCOMITE, TEDITEUR, TNUMCARTE">

<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
etc...
</head>

En passant, j'ai ajouté un script assez sympa qui permet de  délimiter le nombre de caractères (bon moi, c'est de toute façon limité) et surtout d'ajouter un "compteur". L'utilisateur sait donc exactement où il en est dans son quota.
Plus d'infos : http://www.journaldunet.com/developpeur/tutoriel/dht/040129_limiter_caracteres.shtml

Merci pour ton aide
Cat
0
catger Messages postés 7 Date d'inscription lundi 22 octobre 2007 Statut Membre Dernière intervention 29 octobre 2007
29 oct. 2007 à 11:35
Re Nickadele

J'ai essayé avec CFQuery, mais j'ai un problème de syntaxe avec l'instruction Insert into.
Je ne connais pas le marqueur CFStoredproc.
Le marqueur CFInsert fonctionne très bien pour une autre application du même type.

Est-ce que la version d'access pourrait avoir une incidence.
> Application ok : access 97
> Application qui ne fonctionne pas : access 2002

Cat
0
catger Messages postés 7 Date d'inscription lundi 22 octobre 2007 Statut Membre Dernière intervention 29 octobre 2007
29 oct. 2007 à 13:51
Rep 2

J'ai finalement trouvé la bonne syntaxe avec insert into (merci à Metrox et son code).
L'utilisation du marqueur CFQuery était la bonne solution. Je n'ai plus de problème de limitation du nombre de caractères.

Un très grand merci
Cat
0
Rejoignez-nous