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

C# Discussion :

Delete linq to Sql c#


Sujet :

C#

  1. #1
    Membre averti Avatar de solo190
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2007
    Messages
    412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 412
    Points : 321
    Points
    321
    Par défaut Delete linq to Sql c#
    salut à tous, je suis entrain de débuter avec linq to sql et j'ai fait cette requette pour supprimer des lignes dans ma base de données mais elle ne le fait pas .
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     var ecs = from p in DB.Edition_Conseiller
                              where p.Poste_Client =="HITLAPTOP"
     
                  select p ;
     
                        DB.Edition_Conseiller.DeleteAllOnSubmit(ecs);
                        DB.SubmitChanges();
    Merci de votre aide.

  2. #2
    Membre expert
    Avatar de GuruuMeditation
    Homme Profil pro
    .Net Architect
    Inscrit en
    Octobre 2010
    Messages
    1 705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : .Net Architect
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 705
    Points : 3 570
    Points
    3 570
    Par défaut
    Est-ce que la requête Linq renvoie bien des données ?

  3. #3
    Membre averti Avatar de solo190
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2007
    Messages
    412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 412
    Points : 321
    Points
    321
    Par défaut
    j'ai compris ce qui se passer,
    l'instruction est bien envoyé à la base de donnée mais aucune ligne n'est supprimé parce que dans la close where il y'a une égalité qui n'est pas vérifié à cause d'une colonne qui a une valeur null dans ma base.
    j'aimerais pouvaoir citer mes colonnes dans mon select.
    si je parvient, mon problème est résolu car je ne vais pas citer les colonnes qui sont null et tout va bien se passer.

  4. #4
    Membre averti Avatar de solo190
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2007
    Messages
    412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 412
    Points : 321
    Points
    321
    Par défaut nouveaux éléments delete linq to sql
    après des recherche, j'ai modifié la requette mais je suis confronté à un message d'erreur.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    var ecs = from p in DB.Edition_Conseiller
                              where p.Poste_Client == "HITLAPTOP"
                              select  p.Poste_Client ;
     
                    foreach (var qry in ecs)
                    {
                        DB.Edition_Conseiller.DeleteOnSubmit(qry); // erreur
                    }
                    DB.SubmitChanges();
    DB.Edition_Conseiller.DeleteOnSubmit(qry);
    cette ligne génère une erreur.
    Merci de votre aide

  5. #5
    Membre éprouvé Avatar de sisqo60
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2006
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 754
    Points : 1 188
    Points
    1 188
    Par défaut
    Bonjour,

    Tu supprimes une chaine!!! c'est pas vraiment une "entité" que gère Linq to SQL.

    essayes plutôt ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    var ecs = from p in DB.Edition_Conseiller
                              where p.Poste_Client == "HITLAPTOP"
                              select  p ;
     
                    foreach (var qry in ecs)
                    {
                        DB.Edition_Conseiller.DeleteOnSubmit(qry); // plus d'erreur
                    }
                    DB.SubmitChanges();
    Bon dév.

  6. #6
    Membre averti Avatar de solo190
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2007
    Messages
    412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 412
    Points : 321
    Points
    321
    Par défaut
    Merci Sisqo60,
    j'ai essaye de faire comme tu me propose mais je me suis confronté au problème suivant.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    exec sp_executesql N'DELETE FROM [dbo].[Edition_Conseiller] WHERE ([Poste_Client] = @p0) AND ([Code_Conseiller] = @p1) AND ([Nom_Conseiller] = @p2) AND ([Prenoms_Conseiller] = @p3) AND ([Code_Intermediaire] = @p4) AND ([Choix] = @p5) AND ([Code_Reseau] = @p6)',N'@p0 varchar(8000),@p1 char(7),@p2 varchar(8000),@p3 varchar(8000),@p4 char(4),@p5 char(1),@p6 char(1)',@p0='HITLAPTOP',@p1='0000387',@p2='KONANG',@p3=NULL,@p4='1005',@p5='1',@p6='1'
    cette requette est la trace que je recupère coté sql, elle n'arrive pas à supprimer la ligne car lors dans la close where la variable @p3 avec sa valeur null est considéré comme différente du null qu'il y'a dans la table dont on veut supprimer les valeur.
    j'aimerais pouvoir citer les colonnes qui doivent intervenir dans ma requette Linq to sql.
    genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     var ecs = from p in DB.Edition_Conseiller
                              where p.Poste_Client == "HITLAPTOP"
                              select new { p.Poste_Client, p.Code_Conseiller };
     
                    foreach (var qry in ecs)
                    {
                        DB.Edition_Conseiller.DeleteOnSubmit(qry); // rerreur
                    }
                    DB.SubmitChanges();
    tout en sachant que dans la requette qui serra envoyé à sql serveur, j'aurai dans ma close where le poste_client et le code_conseiller qui est favorable pour moi.
    merci de votre soutient
    .

Discussions similaires

  1. LINQ to SQL] Tracer les requêtes SQL d'Insert/Update/Delete
    Par annalady dans le forum Accès aux données
    Réponses: 5
    Dernier message: 30/07/2009, 10h17
  2. [Linq to Sql] Insert et delete
    Par cKmel dans le forum Accès aux données
    Réponses: 19
    Dernier message: 23/10/2008, 13h10
  3. [Linq 2 SQL] Problème de modélisation
    Par tomlev dans le forum Accès aux données
    Réponses: 5
    Dernier message: 12/02/2008, 23h29
  4. [Linq to sql] db.add() ?
    Par telynette dans le forum Accès aux données
    Réponses: 2
    Dernier message: 08/02/2008, 19h54
  5. [Linq to SQL] Refresh du dbml
    Par zeavan dans le forum Visual Studio
    Réponses: 5
    Dernier message: 02/01/2008, 10h15

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