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 :

[C#] Execution d'un UPDATE


Sujet :

ASP.NET

  1. #1
    Membre confirmé
    Inscrit en
    Mai 2004
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 75
    Par défaut [C#] Execution d'un UPDATE
    Bonjour,
    je suis bloqué dans un programme.Je dispose de 2 DropDownList (DDL) et un bouton enregitrer.Le 1er DDL affiche des serveurs et le 2nd affiche des types en fonctions du serveur selectionné.
    Je voudrais pouvoir enregistrer en cliquant sur le bouton lorsque je veux changer de type associé a un serveur:exemple le "serveur A" a un type"SORTIE"....je suis met maintenant un type"ENTRER" et pouvoir l'enregistrer.
    Mais je ne vois pas où est mon erreur lors de l'enregistrement (je n'ai pas non plus oublié de reéler les évênements dans les DDP et le bouton).
    Si quelqu'un voit mon erreur dans mon code alors je le remercie d'avance

    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
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    //declaration des variables globales
    		SqlConnection myConnection;
    		int VarIdRenseignement;
     
    		void Page_Load(object sender, EventArgs e)
    		{	
     
     
    		  //myDataTable = new DataTable();
    		  //myAdapter.Fill(myDataTable);
    		  //myAdapter.UpdateCommand = new SqlCommand(UpdateSQL,myConnection);
     
    //myAdapter.UpdateCommand.Parameters.Add("@Id_Type",SqlDbType.Int,1,"Id_Type");
    			if(Page.IsPostBack==false)
    			{
    				myConnection=(SqlConnection)Session["myConnection"];
    				ChargerServeur();
    				AfficherRenseignementServeur();
     
     
    			}
     
    		}
     
    		private void OnListeServeurChanged(object sender, System.EventArgs e)
    		{
    				AfficherRenseignementServeur();
    		}
     
    		void ChargerServeur()
    		{
    			SqlCommand myCommand;
    			SqlDataReader myReader;
    			SqlConnection myConnection = (SqlConnection)Session["myConnection"];
     
    			string SQL="SELECT * FROM TblServer ORDER BY Name_Server";
     
    			myCommand = new SqlCommand(SQL,myConnection);
    			myReader = myCommand.ExecuteReader();
    			ListeServeur.DataSource= myReader;
    			ListeServeur.DataValueField="Id_Server";
    			ListeServeur.DataTextField="Name_Server";
    			ListeServeur.DataBind();
     
    			myReader.Close();
     
    		}
     
    	void AfficherRenseignementServeur()
    		{
     
    //recuperation de la connection et du n°de serveur selectionné
    		SqlConnection myConnection=(SqlConnection)Session["myConnection"];
    		string VarServeur=ListeServeur.SelectedItem.Value;
    		SqlDataReader myReader;
     
    //realisation des 2 requetes		
     
    	string SQL ="SELECT 
    Id_Renseignement,TblRenseignement.Id_Type,Name_Type FROM 
    TblRenseignement,TblType,TblServer
    WHERE TblRenseignement.Id_Server=TblServer.Id_Server AND 
    TblRenseignement.Id_Type=TblType.Id_Type AND 
    TblRenseignement.Id_Server=" + VarServeur;
     
    	string SQL2="SELECT * FROM TblType";
     
    //Parametrage du DropDownList
     
    	SqlCommand myCommand = new SqlCommand(SQL,myConnection);
    //recuperation des valeurs dans la requete SQL
    	myReader = myCommand.ExecuteReader();
    	int VarIdType=0;
    	myReader.Read();
    	VarIdType = myReader.GetInt32(1);
    	myReader.Close();
    	myReader = myCommand.ExecuteReader();
    	VarIdRenseignement=0;
    	myReader.Read();
    	VarIdRenseignement = myReader.GetInt32(0);
    	myReader.Close();
     
    SqlCommand myCommand1 = new SqlCommand(SQL2,myConnection);
     
    	myReader = myCommand1.ExecuteReader();
    	ListeType.DataSource = myReader;
    	ListeType.DataValueField="Id_Type";
    	ListeType.DataTextField="Name_Type";
    	ListeType.DataBind();
    	ListeType.SelectedIndex = 
    ListeType.Items.IndexOf(ListeType.Items.FindByValue(VarIdType.ToString()));
    	myReader.Close();
     
    		}
     
    		void MiseJourType()
    		{	
    		//recuperation de la connection 
    		SqlConnection myConnection=(SqlConnection)Session["myConnection"];
    		//recuperation de la nouvelle valeur de ListeType
    		String VarTypeSectionner=ListeType.SelectedItem.Value;
    		//recuperation de la variable de TblRenseignement que l on force en 
    string
    		string VarIdRenseignement2= VarIdRenseignement.ToString();
     
    		//realisation de la requete de mise a jour
    		string Update="UPDATE TblRenseignement Set Id_Type=" 
    +VarTypeSectionner +" WHERE Id_Renseignement=" +VarIdRenseignement2;
     
    		}
     
    		void OnEnregistrerClicked(object sender, System.EventArgs e)
    		{	
     
    			MiseJourType();
     
     
    		}
     
    		private void EtatRenseignement_SelectedIndexChanged(object sender, 
    System.EventArgs e)
    		{
     
    		}
     
     
     
    		private void OnListeTypeChanged(object sender, System.EventArgs e)
    		{
     
    		}
    	}
    }

  2. #2
    Membre Expert
    Avatar de Piotrek
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 869
    Par défaut
    Justement on aimerait la voir l'erreur (enfin son nom et sa position), utilise des try/catch pour la detecter

    Petit rajout, un excellent article tres comprehensible pour gerer les exceptions au niveau d'un programme:
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnbda/html/exceptdotnet.asp

  3. #3
    Membre confirmé
    Inscrit en
    Mai 2004
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 75
    Par défaut
    Désolé j ai oublié de preciser que lorsque je click sur le bouton enregistrement, alors rien est mis a jour. De plus, lorsque je regarde dans le profiler de SQL SERVER sur le serveur, alors je ne voix pas le UPDATE apparaitre.Je ne voix seulement les SELECT que j ai fait.
    Comme je le disais, j ai bien reglé les évenements sur les DDL et le boutons.

  4. #4
    Membre éprouvé
    Inscrit en
    Février 2003
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 113
    Par défaut
    J'ai certainement lu en diagonale mais dans ta fonction MiseJourType

    tu n'executes pas la requete.

  5. #5
    Membre confirmé
    Inscrit en
    Mai 2004
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 75
    Par défaut
    En quoi tu vois que je n’exécute pas la requête dans MiseJourType???
    Peux tu m éclaircir car je débute en asp .net
    Merci

  6. #6
    Membre éprouvé
    Inscrit en
    Février 2003
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 113
    Par défaut
    ben tu as ecrit ca

    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
     
     void MiseJourType() 
          {    
          //recuperation de la connection 
          SqlConnection myConnection=(SqlConnection)Session["myConnection"]; 
          //recuperation de la nouvelle valeur de ListeType 
          String VarTypeSectionner=ListeType.SelectedItem.Value; 
          //recuperation de la variable de TblRenseignement que l on force en 
    string 
          string VarIdRenseignement2= VarIdRenseignement.ToString(); 
     
          //realisation de la requete de mise a jour 
          string Update="UPDATE TblRenseignement Set Id_Type=" 
    +VarTypeSectionner +" WHERE Id_Renseignement=" +VarIdRenseignement2; 
     
          }
    mais la tu ne fais que qu'ecrire la requete il manque un truc du style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    SQLCommand cmd = new SQLCommand(Update, MyConnexion);
    try{
        cmd.ExecuteNonQuery();
    }
    catch(exception e)
    {
     
    }
    finally{
      cmd.Connection.Close();
    }
    Sans parler des transactions...

  7. #7
    Membre confirmé
    Inscrit en
    Mai 2004
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 75
    Par défaut
    Je pensais que pour la mise a jour avec un UPDATE,il faillait seulement etablir la requete et que les transactions se font se faisait lorsque je recuperais les valeurs en questions

  8. #8
    Membre confirmé
    Inscrit en
    Mai 2004
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 75
    Par défaut
    Ok merci de tes informations.....j ai testé et je voix bien la transaction du UPDATE sur le serveur.
    Je voulais egalement savoir si tu savais comment je pourrai faire pour recuperer la valeur du VarIdRenseignement2 car j essais de recuperer VarIdRenseignement qui se trouve dans la procedure AfficherRenseignementServeur.
    VarIdRenseignement a était declaré en variable global.........
    Je cherche cela car pendant la transaction, Id_Renseignement vaut 0.
    Merci d avance pour ton aide

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 22/03/2008, 08h16
  2. Could not execute JDBC batch update
    Par nabil148911 dans le forum Hibernate
    Réponses: 2
    Dernier message: 08/09/2007, 01h35
  3. [Hibernate][error] Could not execute JDBC batch update
    Par CPI_en_mousse dans le forum Hibernate
    Réponses: 7
    Dernier message: 01/06/2007, 09h41
  4. [EJB3] Could not execute JDBC batch update
    Par ®om dans le forum JPA
    Réponses: 18
    Dernier message: 07/03/2007, 11h59
  5. [MySQL] impossible d'executer mes deux updates a la suite
    Par budylove dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 03/05/2006, 14h49

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