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 :

Utiliser une variable dans la même page asp


Sujet :

ASP.NET

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2007
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 40
    Points : 24
    Points
    24
    Par défaut Utiliser une variable dans la même page asp
    Salut,
    je n'arrive pas à utiliser la variable " nbr " dans la propriété
    " protected void Button3_Click " de ma page asp qui a la forme :

    public partial class Ajout_Cat_2 : System.Web.UI.Page
    {
    Int32 nbr ;

    protected void Page_Load(object sender, EventArgs e)
    {
    // Evaluation de la variable nbr
    .......

    }

    protected void Button3_Click(object sender, EventArgs e)
    {
    // Essai d'utiliser la variable nbr

    }

    }

    Et merci.

  2. #2
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Points : 8 734
    Points
    8 734
    Par défaut
    Et faut qu'on devine quel est ton problème?

  3. #3
    Membre averti Avatar de flogreg
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    432
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 432
    Points : 392
    Points
    392
    Par défaut
    la portée semble correcte. Donnes nous plus de détail. Montre ton code en utilisant la balise code

  4. #4
    Membre à l'essai
    Inscrit en
    Juillet 2007
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 40
    Points : 24
    Points
    24
    Par défaut
    Voici mon code, la variable que je veux réutiliser dans " protected void Button3_Click " est " nbr ".
    Voici mon code:
    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
     
    public partial class Ajout_Cat_2 : System.Web.UI.Page
    {
     
        DataSet ds = new DataSet();
        Int32 nbr;  // La variable qui me pose problème
     
     
        protected void Page_Load(object sender, EventArgs e)
        {
               // Ici j'insère des données dans la BD
            if (!Page.IsPostBack)
            {
                try
                {
                   SqlConnection myConnection = new SqlConnection(ConfigurationManager.ConnectionStrings["Base_YConnectionString"].ConnectionString);
                    SqlCommand cmd = new SqlCommand("insert into categorie (nom_categorie,pere_id) values ('" + PreviousPage.Nom_Cat_1 + "',0)", myConnection);
     
     
                    cmd.Connection.Open();
                    cmd.ExecuteNonQuery();
                    cmd.Connection.Close();
                    cmd.Connection.Dispose();
                  }
     
                catch (Exception ex)
                {
                    Label2.Text =ex.Message;
                }
     
                // Ici j'extrait l'ID de la donnée que je vient d' insérer
                // je la récupère dans la variable " nbr "
                try
                {
     
                    String strSQL = "SELECT id ,pere_id FROM [categorie]where nom_categorie= '" + PreviousPage.Nom_Cat_1 + "' ";
                    SqlConnection myConnectio = new SqlConnection(ConfigurationManager.ConnectionStrings["Base_YConnectionString"].ConnectionString);
                    SqlCommand cm = new SqlCommand("SELECT id ,pere_id FROM [categorie]where nom_categorie= '" + PreviousPage.Nom_Cat_1 + "' ", myConnectio);
                    cm.Connection.Open();
                    SqlDataAdapter myAdapter = new SqlDataAdapter(strSQL, myConnectio);
                    myAdapter.Fill(ds, "categorie");
                    DataRow[] choix = ds.Tables["categorie"].Select("pere_id is not null");
                    foreach (DataRow ch in choix)
                    {
     
                        nbr = Convert.ToInt32(ch.ItemArray[0]);
                    }
                    }
     
                catch (Exception t)
                {
                    Label7.Text = t.Message;
                }
            }
        }
     
     
       // Ici mon problème, je n'arrive pas à transférer la valeur de " nbr " dans 
       // la requête,dans la BD, au lieu de récupérer la valeur de " nbr ", je
      // trouve tj "nbr" vaut 0
         protected void Button3_Click(object sender, EventArgs e)
        {
             try
            {
               SqlConnection myConnect = new SqlConnection(ConfigurationManager.ConnectionStrings["Base_YConnectionString"].ConnectionString);
                SqlCommand ci = new SqlCommand("insert into categorie (nom_categorie,pere_id) values ('" + TextBox1.Text + "','" + nbr + "')", myConnect);
     
     
                ci.Connection.Open();
                ci.ExecuteNonQuery();
                ci.Connection.Close();
                ci.Connection.Dispose();
               }
     
            catch (Exception x)
            {
                Label2.Text =x.Message;
            }
        } 
    }

  5. #5
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Points : 8 734
    Points
    8 734
    Par défaut
    A chaque PostBack, une nouvelle instance de ta page est créée.
    Donc ta variable est perdue, c'est normal

  6. #6
    Membre averti Avatar de flogreg
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    432
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 432
    Points : 392
    Points
    392
    Par défaut
    Citation Envoyé par lutecefalco Voir le message
    A chaque PostBack, une nouvelle instance de ta page est créée.
    Donc ta variable est perdue, c'est normal
    pfff, je n'avais meme pas vu
    Donc tu as plusieurs solutions : utiliser les variables de session, un hiddenfield, il y en a d'autres mais je ne suis pas encore réveillé

  7. #7
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Points : 8 734
    Points
    8 734
    Par défaut
    Perso, j'utilise le viewstate dans ce cas là

  8. #8
    Membre à l'essai
    Inscrit en
    Juillet 2007
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 40
    Points : 24
    Points
    24
    Par défaut
    Merci pour les informations et l'aide

  9. #9
    Membre régulier
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    112
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 112
    Points : 71
    Points
    71
    Par défaut
    bonjour giono ,
    merci bien de bien vouloi m'informer sur la chaine de connexion ben en fait cette question c'est pour m'aider à ce connecter à la base de donnée access ce que je n'arrive pas le faire

    pour ton cas où t'as declarer ta chaine de connexion?

    merci

  10. #10
    Membre averti Avatar de flogreg
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    432
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 432
    Points : 392
    Points
    392
    Par défaut
    Citation Envoyé par Khalid.bounouader Voir le message
    bonjour giono ,
    merci bien de bien vouloi m'informer sur la chaine de connexion ben en fait cette question c'est pour m'aider à ce connecter à la base de donnée access ce que je n'arrive pas le faire

    pour ton cas où t'as declarer ta chaine de connexion?

    merci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ConfigurationManager.ConnectionStrings["Base_YConnectionString"].ConnectionString
    Comme on te l'a déjà dit dans d'autres posts, c'est dans le web.config !

  11. #11
    Membre régulier
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    112
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 112
    Points : 71
    Points
    71
    Par défaut
    merci pour l'information,
    j'ai suivi tes instructions donc dans web.conf j'ai ajouté ce code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
     
         <appSettings>
              <add key="chaine" value="Provider=Microsoft.Jet.OLEDB.4.0;Data
                   Source=C:/myFolder/myBdd.mdb" />
         </appSettings>
     
    </configuration>
    lors de la connexion j'ai tenté 2 instructions la tienne et une autre que j'ai trouvé dans le net et aucune ne veut marcher
    1-
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ConfigurationManager.ConnectionStrings["chaine"].ConnectionString
    erreur générée:
    -->seul une assignation, un appel, un increment,....et des expressions d'obejt peuvent etre utilisés comme instruction;

    2-
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    OleDbConnection oConnection = New OleDbConnection()
    oConnection.ConnectionString = ConfigurationSettings.AppSettings("chaine")
    oConnection.Open()
    erreur générée:

    -->System/ConfigurationSettings est un propriété mais utilisé comme methode


    pour le deuxieme cas j'ai suivi les instructions du lien suivant:

    paragraphe:Utiliser le Web.Config

    merci infiniment

  12. #12
    Membre à l'essai
    Inscrit en
    Juillet 2007
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 40
    Points : 24
    Points
    24
    Par défaut
    Salut,
    je pense pas que tu doit ajouter du code toi même dans le " web.conf " .
    moi je procède comme suit pour récupérer la chaine de connexion (j'utilise microsoft visual web devloper) d'une BD:

    1. Clic droit sur le projet dans l'explorateur .
    2.choisir "Add existing item "
    3. spécifier l'emplacement de la BD.

    Elle sera ajouté dans le " web.conf " , dans la balise "connectionStrings" ,et tu peux récuperer ta chaîne de connexion, elle correspond à l'attribut " name ".

    Voici mon " web.conf ":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <connectionStrings>
      <add name="Base_YConnectionString" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Base_Y.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True"
       providerName="System.Data.SqlClient" />
    bonne chance

  13. #13
    Membre régulier
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    112
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 112
    Points : 71
    Points
    71
    Par défaut
    Bonjour à tous,

    Merci pour les détails et les informations que vous m'avez fournis pour que je puisse en fin établir une connexion d'une manière optimum
    merci

Discussions similaires

  1. Utiliser une variable dans d'autres pages
    Par QwhertZ dans le forum Langage
    Réponses: 2
    Dernier message: 19/09/2013, 16h43
  2. Utiliser une variable dans une requête
    Par moromain dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 30/06/2007, 19h12
  3. Lien permettant d'afficher une image dans la même page
    Par mouna201 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 12/02/2007, 10h31
  4. [VBA-E]Utiliser une variable dans une formule
    Par bossu dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 04/06/2006, 15h25
  5. [FLASH MX2004] Utiliser une variable dans le code
    Par arnolem dans le forum Flash
    Réponses: 25
    Dernier message: 02/12/2005, 16h37

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