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 :

enregistrement la même information dans 2 table différentes d'une base de données MySql sous C#


Sujet :

C#

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    316
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2010
    Messages : 316
    Points : 155
    Points
    155
    Par défaut enregistrement la même information dans 2 table différentes d'une base de données MySql sous C#
    Bonjour,
    je récupère les informations que l'utilisateur a remplies dans un formulaire...
    Je vais enregistrer ces informations dans 2 tables différentes.
    Voici mon code qui marche :

    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
    //1er req
     
    string connStr = "server=000.0.0.0;user=toto;database=ma_base;port=2222;password=#################;";
    MySqlConnection conn = new MySqlConnection(connStr);
     
    conn.Open();
     
    string sql = "INSERT INTO table_premiere (champSfirst_name,champSlast_name,champScompany_name,champSaddress1,champSadress2,champScity,champSstate,champScountry,champSpostal_code)VALUES (@first_name,@last_name,@company_name,@address1,@adress2,@city,@state,@country,@postal_code)";
     
     
    MySqlCommand cmd = new MySqlCommand(sql, conn);
     
    MySqlParameter first_name = new MySqlParameter("@first_name", s.FirstName);
    MySqlParameter last_name = new MySqlParameter("@last_name", s.LastName);
    MySqlParameter company_name = new MySqlParameter("@company_name", s.CompanyName);
    MySqlParameter address1 = new MySqlParameter("@address1", s.Address1);
    MySqlParameter adress2 = new MySqlParameter("@adress2", s.Address2);
    MySqlParameter city = new MySqlParameter("@city", s.City);
    MySqlParameter state = new MySqlParameter("@state", s.State);
    MySqlParameter country = new MySqlParameter("@country", s.Country);
    MySqlParameter postal_code = new MySqlParameter("@postal_code", s.PostalCode);
     
    cmd.Parameters.Add(first_name);
    cmd.Parameters.Add(last_name);
    cmd.Parameters.Add(company_name);
    cmd.Parameters.Add(address1);
    cmd.Parameters.Add(adress2);
    cmd.Parameters.Add(city);
    cmd.Parameters.Add(state);
    cmd.Parameters.Add(country);
    cmd.Parameters.Add(postal_code);
     
    cmd.ExecuteNonQuery();
    conn.Close();
     
    ////2e req
    string connTATAStr = "server=000.0.0.0;user=toto;database=ma_base;port=2222;password=#################;";
    MySqlConnection connTATA = new MySqlConnection(connTATAStr);
     
    connTATA.Open();
     
    string sqlTATA = "INSERT INTO table_deuxieme (champSfirst_name,champSlast_name,champScompany_name,champSaddress1,champSadress2,champScity,champSstate,champScountry,champSpostal_code)VALUES (@tATAfirst_name,@tATAlast_name,@tATAcompany_name,@tATAaddress1,@tATAadress2,@tATAcity,@tATAstate,@tATAcountry,@tATApostal_code)";
     
    MySqlCommand cmdTATA = new MySqlCommand(sqlTATA, connTATA);
     
    MySqlParameter tATAfirst_name = new MySqlParameter("@tATAfirst_name", s.FirstName);
    MySqlParameter tATAlast_name = new MySqlParameter("@tATAlast_name", s.LastName);
    MySqlParameter tATAcompany_name = new MySqlParameter("@tATAcompany_name", s.CompanyName);
    MySqlParameter tATAaddress1 = new MySqlParameter("@tATAaddress1", s.Address1);
    MySqlParameter tATAadress2 = new MySqlParameter("@tATAadress2", s.Address2);
    MySqlParameter tATAcity = new MySqlParameter("@tATAcity", s.City);
    MySqlParameter tATAstate = new MySqlParameter("@tATAstate", s.State);
    MySqlParameter tATAcountry = new MySqlParameter("@tATAcountry", s.Country);
    MySqlParameter tATApostal_code = new MySqlParameter("@tATApostal_code", s.PostalCode);
     
    cmdTATA.Parameters.Add(tATAfirst_name);
    cmdTATA.Parameters.Add(tATAlast_name);
    cmdTATA.Parameters.Add(tATAcompany_name);
    cmdTATA.Parameters.Add(tATAaddress1);
    cmdTATA.Parameters.Add(tATAadress2);
    cmdTATA.Parameters.Add(tATAcity);
    cmdTATA.Parameters.Add(tATAstate);
    cmdTATA.Parameters.Add(tATAcountry);
    cmdTATA.Parameters.Add(tATApostal_code);
     
    cmdTATA.ExecuteNonQuery();
    connTATA.Close();
    Comment je peux optimiser mon code en évitant le doublement ?

  2. #2
    Expert éminent
    Avatar de kdmbella
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2010
    Messages
    799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Août 2010
    Messages : 799
    Points : 7 039
    Points
    7 039
    Par défaut
    je pense dans un premier temps que tu doit utiliser une try catch ensuite tu peut récupérer tes paramètres une seule fois te connecter une seule fois à la BD et la crée une seul MySqlCommand utiliser les mème paramètres bref
    ce bloc peuètre écrit une seul fois
    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
    string connStr = "server=000.0.0.0;user=toto;database=ma_base;port=2222;password=#################;";
    MySqlConnection conn = new MySqlConnection(connStr);
     
    conn.Open();
     
    string sql = "INSERT INTO table_premiere (champSfirst_name,champSlast_name,champScompany_name,champSaddress1,champSadress2,champScity,champSstate,champScountry,champSpostal_code)VALUES (@first_name,@last_name,@company_name,@address1,@adress2,@city,@state,@country,@postal_code)";
     
     
    MySqlCommand cmd = new MySqlCommand(sql, conn);
     
    MySqlParameter first_name = new MySqlParameter("@first_name", s.FirstName);
    MySqlParameter last_name = new MySqlParameter("@last_name", s.LastName);MySqlParameter company_name = new MySqlParameter("@company_name", s.CompanyName);
    MySqlParameter address1 = new MySqlParameter("@address1", s.Address1);
    MySqlParameter adress2 = new MySqlParameter("@adress2", s.Address2);
    MySqlParameter city = new MySqlParameter("@city", s.City);
    MySqlParameter state = new MySqlParameter("@state", s.State);
    MySqlParameter country = new MySqlParameter("@country", s.Country);
    MySqlParameter postal_code = new MySqlParameter("@postal_code", s.PostalCode);
     
    cmd.Parameters.Add(first_name);
    cmd.Parameters.Add(last_name);
    cmd.Parameters.Add(company_name);
    cmd.Parameters.Add(address1);
    cmd.Parameters.Add(adress2);
    cmd.Parameters.Add(city);
    cmd.Parameters.Add(state);
    cmd.Parameters.Add(country);
    cmd.Parameters.Add(postal_code);
    la distincton se fera au niveau de cette partie : MySqlCommand cmdTATA =new MySqlCommand(sqlTATA, connTATA); ou le nom de la table variera
    "L'humanité se divise en trois catégories : ceux qui ne peuvent pas bouger, ceux qui peuvent bouger, et ceux qui bougent."
    - Benjamin Franklin

    De l'aide en Javascript , consultez la FAQ JS.

    De l'aide sur le FrameWork JS DHTMLX : posez vos questions sur le forum des Bibliothèques & Frameworks JS.

Discussions similaires

  1. Ajouter un enregistrement dans une base de donnée mysql sur click bouton
    Par gueguenk dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 23/06/2009, 15h44
  2. Réponses: 7
    Dernier message: 27/08/2008, 17h01
  3. [MySQL] Enregistrement d'une requête SQL dans une base de données MySQL
    Par glsn dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 15/07/2008, 13h06
  4. MàJ/ajout d'un enregistrement dans une base de données mySQL
    Par BMT_Benoît dans le forum Windows Forms
    Réponses: 2
    Dernier message: 21/08/2007, 08h02
  5. Afficher des données dans un datagrid à partir d'une base de données MySQL
    Par General_Garrisson dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 13/07/2006, 15h14

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