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

Accès aux données Discussion :

[LINQ to SQL] Update qui marche pas


Sujet :

Accès aux données

  1. #1
    Membre extrêmement actif
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Points : 1 434
    Points
    1 434
    Par défaut [LINQ to SQL] Update qui marche pas
    Salut

    J'ai découvert LINQ et je m'essaie un poil.
    J'ai trouvé le moyen de faire des SELECT, avec et sans jointure (enfin, vu la simplicité des mes tests, pour l'instant ça va), jai réussi à envoyer tout ça en brute dans un GridView, faudra que je vois aprés comment on fait du détail.

    Là, je coince sur l'Update des données.

    J'ai mis ce code là sur un bouton :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Dim datasite As New DataClassesDataContext
    Dim page = (From p In datasite.GLOBAL_Pages _
    Where p.Id_Pages = 7 _
    Select p).Single
     
    page.Page_Nom = "bidule"
    page.Page_Lien = "loutlout"
    datasite.SubmitChanges()
    J'aivérifié : la donnée existe bien. Mais il ne se passe rien. Pas de message d'erreur, pas de mise à jour du champ, rien, nada.

    Vous pourriez me dire où je me suis planté ?
    Mon blog de création d'univers : Qualhiryann
    Mon site qui parle de moi www.ozouf.com
    Pour les joueurs de WOW je suis sur Ysondres et mon perso est Ablanore.

  2. #2
    Membre éclairé Avatar de tigunn
    Homme Profil pro
    Développeur de bug
    Inscrit en
    Janvier 2003
    Messages
    608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur de bug

    Informations forums :
    Inscription : Janvier 2003
    Messages : 608
    Points : 658
    Points
    658
    Par défaut
    Tu peux essayer cette méthode:
    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
    Public Function FactUpdateOrInsert(ByVal DC As AMILinqClassDataContext, ByVal C As LFact, Optional ByVal submit As Boolean = True) As Integer
    Try
     
             Dim Retour As LFact = (From Ligne In DC.LFact Where (Ligne.Id = C.Id) Select Ligne).FirstOrDefault
             If Retour Is Nothing Then
                Retour = New LFact
                DC.LFact.InsertOnSubmit(Retour)
             End If
             With Retour
                .Id = C.Id
                 .....
             End With
             If submit Then DC.SubmitChanges()
             Return Retour.Id
          Catch ex As Exception
             TraiteErreur("FactUpdateOrInsert", ex.ToString)
             Return 0
          End Try
    Le monde se divise en deux: ceux qui utilisent le tag et les autres.

  3. #3
    Membre extrêmement actif
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Points : 1 434
    Points
    1 434
    Par défaut
    Merci pour ton aide.
    J'ai des problèmes pour mettre en place ce que tu me propose :
    - il me dit qu'il ne sait aps ce que c'est que : AMILinqClassDataContext
    - pareil pour LFact

    J'ai essayé de transposer ton code avec le mien, mais je trouve pas.

    Pourrais tu m'aider à décrypter tout ça, peut en m'indiquant les Imports qu'il pourrait me manquer (je pense qu'un partie du problème est là) et en m'indiquant trés simplement le moyen de faire une Update de donnée dans la BDD ?

    Merci d'avance.
    Mon blog de création d'univers : Qualhiryann
    Mon site qui parle de moi www.ozouf.com
    Pour les joueurs de WOW je suis sur Ysondres et mon perso est Ablanore.

  4. #4
    Membre éclairé Avatar de tigunn
    Homme Profil pro
    Développeur de bug
    Inscrit en
    Janvier 2003
    Messages
    608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur de bug

    Informations forums :
    Inscription : Janvier 2003
    Messages : 608
    Points : 658
    Points
    658
    Par défaut
    salut zoofy,
    je maîtrise pas parfaitement Linq, je serais plutôt utilisateur .
    j'ai pas implementé linq doc je sais pas comment faire pour générer la classe AMILINQDATACONTEXT hérité de System.Data.Linq.DataContext.
    Par contre tu dois avoir une classe LinqClass.dbml qui représente toutes les tables de ta base sous forme graphique. Et là avec l'explorateur de serveur tu peux te connecter à la base et faire un drag and drop de ta table sur le dbml. Ainsi linq génère des classes à partir des tables de ta base (voir linq to object), ce sont ces classes que j'appelle LFact, LEntite, L..., ...
    Par contre cette solution n'est pas la meilleur car elle a été mise en place au début de linq, maintenant des solutions comme linq to object sont a mon avis bien meilleure.
    Regarde les tutos du site.

    Rm: je regarderais plus en details quand j'aurais le temps, dsl.
    Le monde se divise en deux: ceux qui utilisent le tag et les autres.

Discussions similaires

  1. [MySQL] Requête SQL UPDATE ne marche pas avec Mozilla
    Par souffirst dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 01/11/2008, 15h24
  2. update qui marche pas sur valeur null
    Par touille dans le forum Requêtes
    Réponses: 2
    Dernier message: 16/07/2008, 12h05
  3. [SQL] UPDATE qui veut pas updater ma base
    Par Weysan dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 16/08/2007, 18h44
  4. pas d'erreur mais update qui marche pas
    Par gloppy dans le forum Requêtes
    Réponses: 2
    Dernier message: 06/12/2006, 15h49
  5. requête update qui marche pas
    Par MrsFrizz dans le forum Langage SQL
    Réponses: 4
    Dernier message: 01/12/2004, 08h16

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