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 d'insertion de données avec une variable concaténée


Sujet :

ASP

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2004
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 19
    Points : 17
    Points
    17
    Par défaut problème d'insertion de données avec une variable concaténée
    bonjour à tous

    je récupère d'une autre page à partir d'un formulaire des données provenant d'un nombre aléatoire d'edit box (qui sont crées dynamiquement en fonction du choix de l'utilisateur)
    mon objectif est ensuite d'insérer l'ensemble des données qui ont été rentrées par l'utilisateur dans une table
    je crée donc une variable "datalist" dans laquelle je concatene l'ensemble des données récupérées pour ensuite mettre cette variable dans le insert into

    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
    <%
    dim conn,rs,nb,i,datalist
    nb = Request.Form("NbFields")
    'nb est le nombre d'edit box ayant été créées en fonction du choix de l'utilisateur
     
     
    for i = 0 to nb-1
    	if i = 0 then 
    		datalist = "'"&Request.Form("editbox"&i)&"'"
                                    'premier datalist
    	else 
    		datalist = datalist&",'"&Request.Form("editbox"&i)&"'"
                                    'concaténation du datalist
    	end if
    connect_execute "c:/mabase.mdb",rs,conn,"insert into ["&session("table")&"] values ('"&datalist&"')"
     
    'connect_execute est une methode créée par mes soins qui fonctionne et qui permet de nous connecter à une base de données et d'executer à la suite une requete de notre choix vous pouvez donc voir mon insert into en parametre et c'est là que ce situe le probleme	
     
    next
    disonnect_all rs,conn
    Response.Redirect "insertion_de_tuples.asp"
    %>
    on m'affiche l'erreur suivante:

    Error Type:
    Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
    [Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression '''56'''.
    56 étant la valeur rentrée par l'utilisateur dans la premiere edit box(il reconnait donc cela dans le insert)
    si vous avez une idée sur le sujet merci de me la soumettre
    bien à vous.

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 16
    Points : 16
    Points
    16
    Par défaut
    Dans values(' est dans datatlist tu as le "'";
    Lorsque tu execute le code ca doit te donner VALUES(''56',....,'X'');
    Il y a peut être une appostrophe en plus.

    Tip : Lorsqu'une requete deconne, fait un response.write avant de l'executer, copier-coller, et teste la dans ton SGBD (la avec MSQuery)

  3. #3
    Membre à l'essai
    Inscrit en
    Mars 2004
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 19
    Points : 17
    Points
    17
    Par défaut
    c'est apres pas mal de retouches j'ai trouvé où est le pb dans la concaténation merci dark pour ceux que ça peut intéresser voici le bon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <%dim conn,rs,nb,i,datalist
    nb = Request.Form("NbFields")
    for i = 0 to nb-1
    	if i = 0 then 
    		datalist = "'" & Request.Form("editbox"&i) & "'"
    	else 
    		datalist = datalist & ",'" & Request.Form("editbox"&i) & "'"
    	end if
    next
    connect_execute "c:/stage/opera.mdb",rs,conn,"insert into ["&session("table")&"] values (" & _
    	datalist & ")"
    .........%>

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 07/01/2013, 08h12
  2. Problème nom de fichier généré avec une variable
    Par matlabeginer dans le forum MATLAB
    Réponses: 3
    Dernier message: 09/04/2008, 12h03
  3. problème d'insertion de données dans une map
    Par kifouillou dans le forum Collection et Stream
    Réponses: 11
    Dernier message: 21/02/2007, 10h10
  4. [VB6]problème d'insertion des donneés dans une base d'Access2003
    Par lanbok dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 27/05/2006, 12h17
  5. Réponses: 4
    Dernier message: 09/05/2006, 10h29

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