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

ADO.NET Discussion :

Insertion multi tables


Sujet :

ADO.NET

  1. #1
    Futur Membre du Club
    Inscrit en
    Octobre 2004
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 5
    Points : 5
    Points
    5
    Par défaut Insertion multi tables
    Salut!
    j'ai une base de données accès 2007:
    Assure(Matricule_unique)
    Patient(num_pat,prenom,nom,Adresse,Tel,Qualite,Matricule_unique#)

    Je veux insérer un enregistrement à partir d'un formulaire dans ces deux tables. Pour cela j'ai utilisé le code ci dessous mais ça ne marche 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
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
     
     private void buttonAddpat_Click(object sender, EventArgs e)
            {
     
      /* ---------------------------------------------------'Ajoutre dans la table Assure--------------------------------------------*/
     
                String sinsert0 = "insert into Assure(Matricule_unique) values(?)";         
                OleDbParameter objparm; 
                OleDbParameter objparm1;
                OleDbCommand objinsert = new OleDbCommand();
                OleDbCommand objinsert1 = new OleDbCommand();
     
                objinsert.CommandText = sinsert0;
                objinsert.Connection = bdd.cnx;
     
                rowcollectionpatient = dtpatient.Rows;
                rowpatient = dtpatient.NewRow();
     
                rowpatient["Assure.Matricule_unique"] = comboBoxNumass.Text;
     
                rowpatient["num_pat"] = 1;
                rowpatient["prenom"] = textBoxprenom.Text;
                rowpatient["nom"] = textBoxnom.Text;
                rowpatient["Adresse"] = textBoxadresse.Text;
                rowpatient["Tel"] = textBoxtel.Text;
                rowpatient["Qualite"] = comboBoxQualite.Text;
                rowpatient["Patient.Matricule_unique"] = comboBoxNumass.Text;
     
                rowcollectionpatient.Add(rowpatient);
                dspatient.WriteXml("../../../icone//ds.xml");
     
                objparm = objinsert.Parameters.Add("@Matricule_unique", OleDbType.Char);
                objparm.SourceColumn = "Assure.Matricule_unique";
                objparm.SourceVersion = DataRowVersion.Current;
     
     
               bdd.OpenConnection();
     
                dapatient.InsertCommand = objinsert;
                dapatient.InsertCommand.Connection = bdd.cnx;
                dapatient.Update(dspatient, "tpatient");
                bdd.closeConnection();
    /**************************************************************************************************************************/
     
               String sinsert = "insert into Patient(num_pat,prenom,nom,Adresse,Tel,Qualite,Matricule_unique) values(?,?,?,?,?,?,?)";
     
                objinsert1.CommandText = sinsert;
                objinsert1.Connection=bdd.cnx;
     
     
     
                objparm1 = objinsert1.Parameters.Add("@num_pat", OleDbType.Char);
                objparm1.SourceColumn = "num_pat";
                objparm1.SourceVersion = DataRowVersion.Current;
     
                objparm1 = objinsert1.Parameters.Add("@Prenom", OleDbType.Char);
                objparm1.SourceColumn = "Prenom";
                objparm1.SourceVersion = DataRowVersion.Current;
     
                objparm1 = objinsert1.Parameters.Add("@Nom", OleDbType.Char);
                objparm1.SourceColumn = "Nom";
                objparm1.SourceVersion = DataRowVersion.Current;
     
                objparm1 = objinsert1.Parameters.Add("@Adresse", OleDbType.Char);
                objparm1.SourceColumn = "Adresse";
                objparm1.SourceVersion = DataRowVersion.Current;
     
                objparm1 = objinsert1.Parameters.Add("@tel", OleDbType.Char);
                objparm1.SourceColumn = "tel";
                objparm1.SourceVersion = DataRowVersion.Current;
     
                objparm1 = objinsert1.Parameters.Add("@Qualite", OleDbType.Char);
                objparm1.SourceColumn = "Qualite";
                objparm1.SourceVersion = DataRowVersion.Current;
     
              objparm1 = objinsert1.Parameters.Add("@Patient.Matricule_unique", OleDbType.Char);
                objparm1.SourceColumn = "Patient.Matricule_unique";
                objparm1.SourceVersion = DataRowVersion.Current;
     
     
     
                      bdd.OpenConnection();
     
     
     
                          dapatient.InsertCommand = objinsert1;          
                          dapatient.InsertCommand.Connection = bdd.cnx;
                          dapatient.Update(dspatient, "tpatient");
                      bdd.closeConnection();
            }
    Merci pour votre aide

  2. #2
    Membre éclairé Avatar de chamamo
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    588
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 588
    Points : 735
    Points
    735
    Par défaut
    Ca veut dire quoi ça ne marche pas? tu as un message d'erreur?

  3. #3
    Futur Membre du Club
    Inscrit en
    Octobre 2004
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    non pas de message d'erreur!
    mais l'insertion est effectuée au niveau de la première table seulement: insertion de matricule_unique au niveau de la table Assure.
    En plus lorsque je neutralise l'insertion dans la première table (Assure) et l'insertion de la clé étrangère dans la table Patient; l'insertion dans la table Patient fonctionne.

Discussions similaires

  1. INSERT multi-table ?
    Par Invité2 dans le forum Requêtes
    Réponses: 6
    Dernier message: 22/03/2011, 20h37
  2. [MySQL] Insertion de données multi-tables
    Par pp_le_moko dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 13/12/2009, 23h49
  3. Insertion multi-table
    Par keaton7 dans le forum Débuter
    Réponses: 8
    Dernier message: 26/03/2009, 15h55
  4. [SQL] INSERT multi-tables
    Par K_!!! dans le forum Oracle
    Réponses: 3
    Dernier message: 08/06/2006, 23h08
  5. UPDATE multi-tables sous SQL Server
    Par Cybernet dans le forum Langage SQL
    Réponses: 8
    Dernier message: 25/03/2004, 15h34

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