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 avec des requêtes


Sujet :

ASP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 59
    Points : 34
    Points
    34
    Par défaut Problème avec des requêtes
    Salut,

    Me revoila sur ce forum pour vous exposer un nouveau problème. Je viens d'installer chez moi une application que j'ai fait en stage. Tous marche bien excepter les requetes d'ajout et de modification.

    Ce message d'erreur apparait:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Erreur de compilation Microsoft VBScript error '800a0401' 
     
    Fin d'instruction attendue 
     
    /iisHelp/common/500-100.asp, line 11 
     
    Dim objASPError, blnErrorWritten, strServername, strServerIP, strRemoteIP Dim strMethod, lngPos, datNow, strQueryString, strURL
    --------------------------------------------------------------------------^
    Microsoft OLE DB Provider for ODBC Drivers error '80004005' 
     
    [Microsoft][Pilote ODBC Microsoft Access] L'opération doit utiliser une requête qui peut être mise à jour. 
     
    /PTI1/modification/modifcontact2.asp, line 12
    Or je ne vois pas en quoi ma requête est dépasse. En voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <%
    Option explicit
    ' Création de l'objet permettant la connexion
    	dim RS,strnom,strnumero,strprenom,SQL,strentreprise
    	Set RS = Server.CreateObject("ADODB.Recordset")
    	RS.ActiveConnection="dsn=DSN_SalleReunion"
    strnom=request.form("nom")
    strnumero=request.form("numero")
    strprenom=request.form("prenom")
    strentreprise=request.form("entreprise")
    SQL="Update contact set nom_contact='"&strnom&"',prenom_contact='"&strprenom&"',entreprise_contact='"&strentreprise&"' where ((contact.n°_contact)="&strnumero&")"
    RS.open SQL
    %>
    Je vous remercie d'avance de votre aide qui sera certaine précieuse.

    En attente de vous lire

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 107
    Points : 35
    Points
    35
    Par défaut
    Il me semble que la tu as deux tables tu peux pas le faire en une seule requête il te faut une requête imbriquée.
    ex:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    UPDATE produit
    SET p.prix=p.prix+ (p.prix*5/100)
    WHERE p.marque IN (SELECT fournisseur 
                                    FROM fournisseurs
                                    WHERE decission="hausse")
    Voila bon courage

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 59
    Points : 34
    Points
    34
    Par défaut
    Non je ne modifie que la table contact. Il y a donc une seule table. Pas besoin de requete imbriquer.

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 107
    Points : 35
    Points
    35
    Par défaut
    ok dsl

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 107
    Points : 35
    Points
    35
    Par défaut
    ta essayer de mettre des espace entre tes variables et les "&"?

  6. #6
    Membre averti Avatar de Crazyblinkgirl
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    341
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 341
    Points : 344
    Points
    344
    Par défaut
    Bonjour,

    Tu as les droits de modifications sur ta base? Il me semble avoir eu cette erreur à une époque et j'avais du modifier les droits dans IIS.

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 59
    Points : 34
    Points
    34
    Par défaut
    Re,

    J'ai bien revérifier et j'ai bien les droit en écriture j'ai meme autoriser l'execution de script... C'est pour ça que je ne vois pas d'ou vient le problème. Je précise que je tourne sous XP Pro.

  8. #8
    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
    Peut-être que c'est à cause du curseur que tu utilises. Essayes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RS.open SQL, strProvider, 1, 3
    Sinon, il faut utiliser l'objet command ou connexion voir sur
    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 59
    Points : 34
    Points
    34
    Par défaut
    Re,

    Jai donc essayer ta solution mais il met que les argument ne sont pas correct ou qu'il sont en conflit. A quoi sert le 1 et le 3?

    Merci de votre interet pour mon problème

    @+

  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
    Peux-tu faire un response.write de ta requete STP. A priori elle pose pb.
    Pour le 1 = adOpenKeyset, et le 3 = adLockOptimistic.
    Plus d'infos ici : http://www.devguru.com/technologies/ado/8642.asp
    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 59
    Points : 34
    Points
    34
    Par défaut
    Je ne peux pas faire de response.write puisque que la page ne s'affiche pas, elle bloque à la requête. Mais cette requëte est un exemple, toute mes requetes d'ajout ou de mofification pose problème. Je précise que mes requetes d'affichage, elle s'execute correctement.

    Et je ne vois pas ce qui cloche, mes requetes sont en SQL de base.

  12. #12
    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
    Tu fais un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    on error resume next
    response.write(SQL)
    rs.open SQL, provider
    "Winter is coming" (ma nouvelle page d'accueil)

  13. #13
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 59
    Points : 34
    Points
    34
    Par défaut
    Voila ce que me sort ton code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Update contact set nom_contact='Michelin',prenom_contact='Arthur',entreprise_contact='CG' where ((contact.n°_contact)=1) Update contact set nom_contact='Michelin',prenom_contact='Arthur',entreprise_contact='CG' where ((contact.n°_contact)=1)
    Je ne comprend pas pourquoi cela ne veut pas fonctionner, il semble bien me prendre toutes les valeurs qui se trouvent dans mes variables, mais il ne veut pas l'executer.

  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
    C'est peut-être qu'il manque un ";" entre tes deux "update".
    Sinon, il vaudrait mieux faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    command.commandtext = "UPDATE...."
    command.execute
    command.commandtext = "UPDATE...."
    command.execute
    Pour ne pas ouvrir un recordset.
    A+
    "Winter is coming" (ma nouvelle page d'accueil)

Discussions similaires

  1. [2012] Problème avec des requêtes dynamiques
    Par StripMat dans le forum MS SQL Server
    Réponses: 10
    Dernier message: 20/06/2014, 17h53
  2. [AC-2007] Problème avec des requêtes imbriquées
    Par triaguae dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 15/02/2011, 14h43
  3. Réponses: 0
    Dernier message: 02/01/2009, 15h40
  4. Problème avec des requète imbriquée dans le from
    Par Stouille33 dans le forum Développement
    Réponses: 5
    Dernier message: 23/10/2008, 19h17
  5. Problème avec des sous requêtes
    Par nicocolt dans le forum Requêtes
    Réponses: 2
    Dernier message: 10/10/2007, 15h19

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