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 :

Linq to SQL , Valeurs numeriques non gérées


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Juillet 2010
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 10
    Par défaut Linq to SQL , Valeurs numeriques non gérées
    Bonjour,

    J'ai fait le mapping ( manuel ) de ma base de données, j'ai une première classe qui contient un Id ( incrémenté automatiquement), deux champs en string.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    [Table(Name = "Collaborator")]
        public class Collaborator
        {
            [Column(IsPrimaryKey = true, IsDbGenerated = true, UpdateCheck=UpdateCheck.Never,AutoSync=AutoSync.OnInsert)]
            public int Id { get; set; }
            [Column]
            public string Name { get; set; }
            [Column]
            public string Surname { get; set; }
     
        }
    et une deuxième avec des champs numériques

    [Table(Name = "Activity")]
    public class Activity
    {

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
       //List of table's attributes:
               [Column(IsPrimaryKey = true, IsDbGenerated = true, UpdateCheck = UpdateCheck.Never, AutoSync = AutoSync.OnInsert)]
            public int Id { get; set; } //Activity Id ( will be generated and incremented automatically by the DB manager)
            public int Value { get; set; } //Value (Working rate)
            public DateTime Activity_Day { get; set; } //Date of activity
            public int Entry_Id { get; set; } //The FK entry related to the activity
        }

    dans mon objets DAO j'ai deux methodes add


    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
    19
    20
    21
    22
    23
    24
    25
    var matchedActivity = (from c in _db.GetTable<Activity>()
                                           where c.Id == entity.Id
                                           select c).SingleOrDefault();
     
     
                if (matchedActivity == null)
                {
                    Console.WriteLine("Début Rajout Activity");
                    Console.WriteLine(entity.Value);
                    //We haven't found a match => Create new entry
                    Table<Activity> ma_liste = _db.GetTable<Activity>();
                    ma_liste.InsertOnSubmit(entity);
                    ma_liste.Context.SubmitChanges();
     
                }
                else
                {
                    //We found a Activity that matches!
                    //=> Update its information
     
                    matchedActivity.Activity_Day = entity.Activity_Day;
                    matchedActivity.Entry_Id = entity.Entry_Id;
                    matchedActivity.Value = entity.Value;
                    Console.WriteLine("Mise à jour");
                }

    et Pareil pour les collaborateurs sauf que je remplace activity par Collaborator

    J'arrive à rajouter des collaborateurs ( je crée un nouveau sans assigner un Id)
    mais quand je tente de rajouter une activité je reçois l'erreur suivante au moment du submitChanges (voir pièces jointes)

    Merci de votre aide précieuse!
    Images attachées Images attachées  

  2. #2
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par défaut
    Apparemment tu as une valeur NULL qui traîne, et la colonne correspondant dans ta base de données n'accepte pas les NULL.

    --> message d'erreur : "[...] column does not allow nulls. INSERT fails."
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

Discussions similaires

  1. linq to sql : insérer une valeur précise dans un champ numéro auto
    Par boby62423 dans le forum Accès aux données
    Réponses: 3
    Dernier message: 31/01/2009, 19h53
  2. [Linq To SQL] Insertion non voulue
    Par LE NEINDRE dans le forum Accès aux données
    Réponses: 3
    Dernier message: 27/10/2008, 13h51
  3. [Linq to Sql] Accesseur pour une valeur ou association ?
    Par Arnard dans le forum Accès aux données
    Réponses: 0
    Dernier message: 24/10/2008, 10h02
  4. [Linq To SQL] Comment créer un Alias non lié dans un Select ?
    Par gdkenny dans le forum Framework .NET
    Réponses: 0
    Dernier message: 09/10/2008, 14h19
  5. [LINQ to SQL] Gérer des valeurs NULL
    Par vito12345 dans le forum Accès aux données
    Réponses: 6
    Dernier message: 15/08/2008, 23h20

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