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

ASP.NET Discussion :

pb ajout automatique d'un lien entre deux tables


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 7
    Par défaut pb ajout automatique d'un lien entre deux tables
    Bonjour,

    J'ai un petit soucis, qui me bloque pas mal dans mon dev et n'ayant pas trouver la solution en cherchant sur google et via les faq/forum j'm'en remet à vous, via un formulaire j'ai un bouton qui me permet d'ajouter un "processus", et par défaut à l'ajout d'un processus il faudrai que je lui associe une "activité" générique (qui est déjà créée).
    Donc en théorie après avoir effectué ma requete d'ajout dans ma table "processus" en code behind, il faut que j'ajoute dans la table "DECOUPE_EN", qui contient ID_PROCESSUS et ID_ACTIVITE, l'id du processus(qui s'incrémente tout seul lors d'un ajout dans la table PROCESSUS) que je viens d'ajouter et l'id de "toute activité" qui est '1'.

    Et j'en viens au problème qui est que ça ne marche pas, celà me génère une erreur, en fait il ne veut pas créer le lien dans la table DECOUPE_EN car l'ajout dans la table PROCESSUS ne s'effectue qu'au postback de la page, donc je n'ai pas trouvé de moyen d'enchainer mes deux requêtes, même en fermant la connexion à la bdd et en la rouvrant pour effectuer la deuxième requête.

    Voilà je n'ai pas trouvé de solution

    Merci d'avance pour votre aide qui serait la bienvenue

  2. #2
    Membre éclairé
    Profil pro
    Développeur .NET
    Inscrit en
    Juin 2005
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2005
    Messages : 45
    Par défaut
    Très confus tout ça...
    Je ne sais pas ce que viens faire l'histoire de postback dans tout ça...
    L'ajout d'un processus se fait correctement ?
    Peut-on voir du code ?

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 7
    Par défaut
    Le postback n'est qu'une hypothèse de ma part en fait, ça a peut-être rien a voir:
    Pour le code le voici:

    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
    protected void btAjout_Liste_Processus_Click(object sender, ImageClickEventArgs e)
        {
            if (ddlListe_Processus.SelectedItem.Value == "0")
            {
                System.Data.SqlClient.SqlConnection oConnection;
     
                oConnection = new System.Data.SqlClient.SqlConnection();
     
                string sConnectionString;
                sConnectionString = "Server=(local)\\SQLEXPRESS; Initial Catalog='BDD';Trusted_Connection=True;";
                oConnection.ConnectionString = sConnectionString;
     
                oConnection.Open();
     
                System.Data.SqlClient.SqlCommand oCommand;
                string sSQL;
     
                sSQL = "INSERT INTO [PROCESSUS](PROCESSUS,CODE_PROCESSUS,COMMENTAIRE_PROCESSUS) VALUES('" + tbNom_Processus.Text + "','" + tbCode_Processus.Text + "','" + tbCommentaire_Processus.Text + "')";
     
    // et c'est ici que j'aimerai pouvoir effectuer mon lien
     
     
                oCommand = new System.Data.SqlClient.SqlCommand(sSQL, oConnection);
     
                oCommand.ExecuteNonQuery();
     
                Response.Write("<body><script>alert(\"" + "Processus '" + tbNom_Processus.Text + "' ajouté avec succès" + "\");</script></body>");
     
                // Fermeture de la connexion
                oConnection.Close();
            }
            else
                Response.Write("<body><script>alert(\"" + "Erreur: Ajout impossible, il faut se placer sur 'Nouveau processus'" + "\");</script></body>");
        }
    Sinon oui aucun problème à l'ajout d'un processus.

  4. #4
    Membre éclairé
    Profil pro
    Développeur .NET
    Inscrit en
    Juin 2005
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2005
    Messages : 45
    Par défaut
    Il faut que tu fasses les choses dans l'ordre, d'abord tu ajoutes un processus et seulement ensuite tu ajoutes l'entrée correspondante dans "DECOUPE_EN". Il faut que tes contraintes d'intégrité soient respectées.
    Oui?

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 7
    Par défaut
    Je suis d'accord, par contre, comment je peux faire pour récupérer l'id du processus juste après son ajout dans la table, car j'en ai besoin pour faire mon lien dans "DECOUPE_EN" :/

  6. #6
    Membre éclairé
    Profil pro
    Développeur .NET
    Inscrit en
    Juin 2005
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2005
    Messages : 45
    Par défaut
    Et bien tu balances une requête intermédiaire pour récupérer l'ID. Comme il s'agit d'un auto-increment tu peux récupérer l'id MAX.
    Perso je suis pas fan des auto-increment. Je préfère de loin un bon vieux Guid.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [débutant] lien entre deux tables
    Par t-die dans le forum Débuter
    Réponses: 1
    Dernier message: 03/02/2006, 20h36
  2. lien entre deux table
    Par ept35 dans le forum Débuter
    Réponses: 28
    Dernier message: 21/12/2005, 14h50
  3. [MySQL] Lien entre deux tables
    Par ept35 dans le forum PHP & Base de données
    Réponses: 27
    Dernier message: 14/12/2005, 19h42
  4. [MySQL] Lien entre deux tables
    Par ept35 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 28/11/2005, 13h56
  5. [VB.NET] ComboBox lien entre deux tables
    Par VDB1 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 15/07/2004, 12h15

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