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 :

Comment récupérer L'ID d'un enregistrement SQL en cours de suppression


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Inscrit en
    Octobre 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 5
    Par défaut Comment récupérer L'ID d'un enregistrement SQL en cours de suppression
    Alors voila le problème, je développe un site web sur Visual Studio en asp.net. Sur une de mes pages je dois récupérer l'Identifiant d'un enregistrement que je suis en train de supprimer

    J’utilise un objet SQLDataSource pour accéder à ma base de données SQLServer. J’aimerais savoir comment faire pour récupérer l’id, en paramètre dans la requête par exemple, en output.

    Voici ma requête dans ma SQLDataSource dans le DeleteQuerry :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DELETE IDPage FROM Page  WHERE (IDPage = @IDPage) ;
    Je veux utiliser l’ID page dans l’événement deleting de mon SQLDataSource.

    Comment puis-je faire. Pouvez-vous m’aider svp

    Si quelque chose n’est pas clair excusez moi et demander moi de détailler.

  2. #2
    Membre Expert
    Avatar de hed62
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2007
    Messages
    2 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 029
    Par défaut
    Je ne comprend pas très bien ton soucis. A priori, si tu appelle ta méthode de Delete c'est que tu connais ton Id, donc tu peux continuer à y accéder de la même manière...

  3. #3
    Membre Expert Avatar de Arthis
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 265
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Italie

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 265
    Par défaut
    Si tu utilises dans ton sqldatasource la deletecommand suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    deletecommand = DELETE Page  WHERE (IDPage = @IDPage) ;
    et que IDPage est ton datakeynames dans ton gridview et que tu as rajoute
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <DELETEPArameters>
          <ASP:PArameter name=IDPage>
    </deleparameteres>
    alors je ne vois pas ton souci.

  4. #4
    Nouveau membre du Club
    Inscrit en
    Octobre 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 5
    Par défaut
    Voilà mon problème en détail…

    J’ai un GridView qui est lié à un SQLDataSource. Ce grid sélectionne tous les enregistrements de la table Page dans ma base de données.

    Je veux récupérer dans une variable le ID de la page qui se supprime, pour pouvoir l’utiliser dans l’événement Deleting du SQLDataSource.

    Concernant la requete SQL la voici. Elle fonctionne... c’est un paramétrage automatique que me fait Visual. le @IDPage correspond a ce que je veux stocker…

    (voici l'interface sur visual)


    Mais il m’est impossible de le reprendre dans mon événement Deleting de mon SQLDataSource. (je vous rappel que ma requête fonctionne très bien, elle supprime ce que je veux, mais je n’arrive pas à reprendre ce satané IDPage)

    Voici mon code de l’événement,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    protected void  SqlDataSource2_Deleted1(object sender, SqlDataSourceStatusEventArgs e)
        {
     
            String strIDPage;        
            strIDPage = (String)GridView1.SelectedValue.ToString();
    Et voici le message d’erreur.



    Pouvez-vous me dire qu’est ce que je fais de faux. Je suis un nouveau dans le domaine Visual.

  5. #5
    Membre Expert
    Avatar de hed62
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2007
    Messages
    2 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 029
    Par défaut
    A l'evenement OnRowSelected (ou OnSelectdIndexChanged, ou un truc comme ca) tu peux mémoriser l'index de la ligne selectionnée, puis remonter à l'IdPage grâce a cela.

    Mais je ne comprend pas comment la requete focntionne, puisque tu ne précise pas quelle valeur prend IdPage...

    Sinon, pourquoi as tu besoin de cet IdPage ?

    L'id n'est il pas dans le sender, ou dans 'e' ?


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    GridView1.SelectedValue.ToString();
    essaie plutot :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    GridView1.SelectedRow.Columns[0].ToString();
    Ou quelque chose du genre (je ne connais pas par coeur la syntaxe)

  6. #6
    Nouveau membre du Club
    Inscrit en
    Octobre 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 5
    Par défaut
    g trouvé la solution..

    merci

    voila alors dans mon code j'ai ajouter ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    protected void SqlDataSource2_Deleting(object sender, SqlDataSourceCommandEventArgs e)
        {
            String strIDPage;
            strIDPage = e.Command.Parameters["@IDPage"].Value.ToString();
    Merci d'avoir passé du temps pour m'aider... c'était un problème simple je le savais.

    Je vous explique, j'ai déjà eu testé cette solution mais mon pc avait un bug. et il m'inscrivait une erreur qu'il n'existait pas en fait. J’ai essayé cette solution sur un autre pc et ca marche maintenant.

    Merci encore, vous risquez de me revoir sur ce site bientôt je pense alors je vous dis a plus tard

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 07/09/2010, 14h15
  2. Comment récupérer les résultats d'une requete SQL?
    Par verbal34 dans le forum Accès aux données
    Réponses: 2
    Dernier message: 13/02/2008, 09h17
  3. Réponses: 5
    Dernier message: 02/11/2007, 15h59
  4. Comment récupérer l'id d'un enregistrement d'une table ?
    Par dsamcawfreve dans le forum Bases de données
    Réponses: 3
    Dernier message: 23/10/2007, 21h14
  5. [ADO.Net][C#] Comment récupérer des infos d'une table SQL ?
    Par lamojuli dans le forum Accès aux données
    Réponses: 2
    Dernier message: 11/01/2006, 16h00

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