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.NET Discussion :

[2.0] SqlDataSource et base Access, comment définir paramètres ?


Sujet :

ASP.NET

  1. #1
    Membre actif Avatar de quanou
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    311
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 311
    Points : 247
    Points
    247
    Par défaut [2.0] SqlDataSource et base Access, comment définir paramètres ?
    Salut tlm,
    Je n'arrive pas à trouver la bonne syntaxe pour définir plusieurs paramètres.
    Exemple qui marche :
    SELECT * FROM Toto WHERE (Toto.IDinPatient = ?)
    Mais dès que je mets @NomParam, le Wizzard me gueule dessus.

    J'essaie de définir les paramètres en code, pas plus de succès :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <SelectParameters>
            <asp:Parameter Name="Titi" />
    </SelectParameters>
    Et
    SELECT * FROM Toto WHERE (Toto.IDinPatient = @Titi)
    Et ça devient problématique quand y a plus d'un paramètre à passer.

    Merci d'avance si vous pouvez m'aider
    Nous tenir au courant lorsqu'on fait l'effort de vous répondre...

  2. #2
    Membre régulier
    Profil pro
    Chef de Projet
    Inscrit en
    Décembre 2004
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Chef de Projet

    Informations forums :
    Inscription : Décembre 2004
    Messages : 166
    Points : 73
    Points
    73
    Par défaut
    Passe tes parametres dans la requetes SQL du style :

    SELECT * FROM Toto WHERE (Toto.IDinPatient = @ID1) OR (Toto.IDinPatient = @ID2) ....

    tu les définis ensuite puis tu leur attribues une valeur.

    Il y a un post sur les requêtes paramétrées dans la FAQ.

  3. #3
    Membre actif Avatar de quanou
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    311
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 311
    Points : 247
    Points
    247
    Par défaut
    Merci pour ta réponse.

    J'utilise les requêtes paramétrées.
    Mais là, dans le cas de SqlDataSource en Wizzard, le caractère "@" ne semble pas être reconnu. Il sépare automatiquement avec un espace, le caractère @ et le nom du paramètre, en gueulant "problème de parse", ou équivalent...
    Nous tenir au courant lorsqu'on fait l'effort de vous répondre...

  4. #4
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    Il me semble me souvenir que pour msAccess on remplace les "@..." par des "?" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM Toto WHERE (Toto.IDinPatient = ?) OR (Toto.IDinPatient = ?)
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  5. #5
    Membre actif Avatar de quanou
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    311
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 311
    Points : 247
    Points
    247
    Par défaut
    Citation Envoyé par Graffito Voir le message
    Il me semble me souvenir que pour msAccess on remplace les "@..." par des "?" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM Toto WHERE (Toto.IDinPatient = ?) OR (Toto.IDinPatient = ?)
    Oui, ça passe. Mais comme je n'ai pas trouvé le moyen de nommer les paramètres (sans que ça me gueule dessus), je ne peux donc pas lier ces paramètres à différents contrôles (par exemple Text d'un TextBox).
    En fait, je voulais lier un FormView à un SqlDataSource (base Access), où Insert et Update seraient également possible.
    Nous tenir au courant lorsqu'on fait l'effort de vous répondre...

  6. #6
    Expert éminent sénior

    Avatar de Philippe Vialatte
    Homme Profil pro
    Architecte technique
    Inscrit en
    Juillet 2004
    Messages
    3 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 3 029
    Points : 12 465
    Points
    12 465
    Par défaut
    chez moi, je fais ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    cmd.CommandText = "SELECT * FROM SUPPLIERS WHERE SupplierID = ?";
    cmd.Parameters.Add(new OleDbParameter("SupplierID", Supplierid));
    et ca marche pas mal

    Mon Blog

    The Cake is still a lie !!!



    Vous voulez contribuer à la rubrique .NET ? Contactez-moi par MP.
    Vous voulez rédiger des articles pour la rubrique .NET ? Voici la procédure à suivre.

  7. #7
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    chez moi, je fais ca :
    cmd.CommandText = "SELECT * FROM SUPPLIERS WHERE SupplierID = ?";
    cmd.Parameters.Add(new OleDbParameter("SupplierID", Supplierid));

    et ca marche pas mal
    C'est aussi ce que je fais, mais cela suppose d'ajouter les paramètres -cmd.Parameters.Add(...) - dans le même ordre que les "?"
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  8. #8
    Membre actif Avatar de quanou
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    311
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 311
    Points : 247
    Points
    247
    Par défaut
    Citation Envoyé par pvialatte Voir le message
    chez moi, je fais ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    cmd.CommandText = "SELECT * FROM SUPPLIERS WHERE SupplierID = ?";
    cmd.Parameters.Add(new OleDbParameter("SupplierID", Supplierid));
    et ca marche pas mal
    Ben, en code behind, ça marche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cmd.CommandText = "SELECT * FROM SUPPLIERS WHERE SupplierID = @Supplierid";
    C'est ce que je fais pour mes requêtes paramétrées. Bien que nommés, il faut respecter l'ordre des paramètres, en tout cas c'est ce que j'ai pu constater.
    En revanche, dès que je passe par SqlDataSource (graphique), la syntaxe est refusée.
    Je pensais gagner du temps en utilisant le même SqlDataSource pour toutes les opérations (select, insert, update). Mais au final, je crois que je vais en perdre plus . Je vais donc arrêter les frais.
    Merci en tout cas pour vos contributions.
    Nous tenir au courant lorsqu'on fait l'effort de vous répondre...

Discussions similaires

  1. [ACCESS] Comment récupérer paramètre dans Access?
    Par noemieze dans le forum Access
    Réponses: 2
    Dernier message: 05/04/2007, 15h27
  2. Comment compacter une base Access avec ADO ?
    Par langela94 dans le forum VBA Access
    Réponses: 3
    Dernier message: 08/12/2005, 16h24
  3. Réponses: 1
    Dernier message: 25/11/2005, 22h30
  4. Vb.Net et Access : comment modifier la structure d'une base
    Par hucliez dans le forum Accès aux données
    Réponses: 3
    Dernier message: 09/11/2005, 13h33
  5. [MFC] Comment créer et utiliser une base Access
    Par maitre hibou dans le forum MFC
    Réponses: 3
    Dernier message: 10/05/2004, 18h11

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