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 :

InsertOnSubmit et transaction.Complete


Sujet :

C#

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 62
    Points : 25
    Points
    25
    Par défaut InsertOnSubmit et transaction.Complete
    Bonsoir,

    J'essaye d'insérer un nouvel enregistrement dans une table société. Le code déroule sans bug, malheureusement rien ne s'insère..

    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
    using (LinqToSql.WineDataContext context = new LinqToSql.WineDataContext ())
                {
                    using(TransactionScope transaction =new TransactionScope()){
     
                        //Ajout,modification ou suppression d'enregistrement du DataContext
     
                        LinqToSql.Societe NouvelleSociete = new LinqToSql.Societe { nom = NomS.Text , adresse1 = Adresse1S.Text , adresse2 = Adresse2S.Text, codePostal = codePostalS.Text ,commune = CommuneS.Text, pays = ComboPays.Value.ToString ()};
     
                        context.Societes.InsertOnSubmit(NouvelleSociete);
     
                        //Envoi des modifications à la base de données
                        context.SubmitChanges();
     
                        // Les enregistrements de la base de données ne sont pas modifiés tant que la transaction n'est pas validée
                        transaction.Complete();
     
                    }
                }
    Merci d'avance de votre aide.

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 62
    Points : 25
    Points
    25
    Par défaut
    Je n'ai toujours pas trouvé.
    Voici le code complet. Je charge une liste déroulante de pays avec un autre datacontext, peut être est-ce là l'erreur ?
    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Data;
    using System.Windows.Documents;
    using System.Windows.Input;
    using System.Windows.Media;
    using System.Windows.Media.Imaging;
    using System.Windows.Shapes;
    using System.Transactions;
     
    namespace Wine
    {
        /// <summary>
        /// Interaction logic for Window1.xaml
        /// </summary>
        public partial class Window1 : Window
        {
            public Window1()
            {
                InitializeComponent();
     
            }
     
            private void ComboPays_Loaded(object sender, RoutedEventArgs e)
            {
     
                LinqToSql.WineDataContext db = new LinqToSql.WineDataContext();
                var pays= from p in db.pays
                          orderby p.name
                          select p;
     
                ComboPays.ItemsSource = pays;
                ComboPays.DisplayMemberPath = "name";
                ComboPays.ValuePath = "id";
                ComboPays.SelectedIndex = 0;
     
            }
     
            private void Button_Click(object sender, RoutedEventArgs e)
            {
     
                using (LinqToSql.WineDataContext context = new LinqToSql.WineDataContext()){
     
                    using(TransactionScope transaction =new TransactionScope()){
     
                        //Ajout,modification ou suppression d'enregistrement du DataContext
                        LinqToSql.Societe NouvelleSociete = new LinqToSql.Societe { nom = NomS.Text, adresse1 = Adresse1S.Text, adresse2 = Adresse2S.Text, codePostal = codePostalS.Text, commune = CommuneS.Text, pays = ComboPays.Value.ToString() };
     
                        context.Societes.InsertOnSubmit(NouvelleSociete);
     
                        //Envoi des modifications à la base de données
                        context.SubmitChanges();
     
                        // Les enregistrements de la base de données ne sont pas modifiés tant que la transaction n'est pas validée
                        transaction.Complete();
     
                    }
                }
            }
        }
    }
    De plus lorsque je reviens sous visual studio, je m'aperçois que la connection a la base de données est coupée alors que le l'ouvre juste avant de lancer le programme....

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 62
    Points : 25
    Points
    25
    Par défaut
    Nouveau code, 1 seul datacontext mais l'insert ne marche toujours pas...:/

    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Data;
    using System.Windows.Documents;
    using System.Windows.Input;
    using System.Windows.Media;
    using System.Windows.Media.Imaging;
    using System.Windows.Shapes;
    using System.Transactions;
     
    namespace Wine
    {
        /// <summary>
        /// Interaction logic for Window1.xaml
        /// </summary>
        public partial class Window1 : Window
        {
            public Window1()
            {
                InitializeComponent();
            }
     
            // Declaration
            public LinqToSql.WineDataContext db;
            public LinqToSql.pays pays;
     
            private void Window_Loaded(object sender, RoutedEventArgs e)
            {
                // Initialisation
                db = new LinqToSql.WineDataContext();
            }
     
     
     
            private void ComboPays_Loaded(object sender, RoutedEventArgs e)
            {
     
               // LinqToSql.WineDataContext db = new LinqToSql.WineDataContext();
                var paysC= from p in db.pays
                          orderby p.name
                          select p;
     
                ComboPays.ItemsSource = paysC;
                ComboPays.DisplayMemberPath = "name";
                ComboPays.ValuePath = "id";
                ComboPays.SelectedIndex = 0;
     
            }
     
            private void Button_Click(object sender, RoutedEventArgs e)
            {
     
                using (db){
     
                    //using(TransactionScope transaction =new TransactionScope()){
     
                        //Ajout,modification ou suppression d'enregistrement du DataContext
                    LinqToSql.Societe NouvelleSociete = new LinqToSql.Societe { nom = NomS.Text, adresse1 = Adresse1S.Text, adresse2 = Adresse2S.Text, codePostal = codePostalS.Text, commune = CommuneS.Text, pays = ComboPays.Value.ToString() };
     
                        db.Societes.InsertOnSubmit(NouvelleSociete);
     
                        //Envoi des modifications à la base de données
                        db.SubmitChanges();
     
                        // Les enregistrements de la base de données ne sont pas modifiés tant que la transaction n'est pas validée
                    //    transaction.Complete();
     
                    //}
                }
            }
     
        }

Discussions similaires

  1. Réponses: 0
    Dernier message: 01/02/2013, 00h34
  2. action APRES chargement complet ...
    Par PinGuy dans le forum Delphi
    Réponses: 7
    Dernier message: 06/07/2006, 17h16
  3. gestion d'erreur et de transactions....
    Par Dge dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 08/02/2006, 22h20
  4. Apropos des Transactions au sein d'un Stored Procedure
    Par Sarbacane dans le forum Connexion aux bases de données
    Réponses: 6
    Dernier message: 16/11/2004, 08h21
  5. Transaction avec DoCmd.runsql ???
    Par Gandalf24 dans le forum VBA Access
    Réponses: 29
    Dernier message: 11/02/2003, 20h35

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