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 :

Compréhension du code


Sujet :

C#

  1. #1
    Membre actif Avatar de thierrybatlle
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2005
    Messages
    618
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2005
    Messages : 618
    Points : 222
    Points
    222
    Par défaut Compréhension du code
    Bonjour à tous,
    Je débuté sur C#, je réalise une application avec la BDD MySQL.
    J'ai besoin d'une aide sur une instruction. J'ai beau lire des aides ou des forums j'ai du mal à saisir l'utilité de cette ligne de commande.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Param_IDClient.Direction = ParameterDirection.Output;
    J'ai compris que l'on peut mettre "Output" et "Input" mais à quoi correspond "ParameterDirection" ? Quel est son utilité ?

    Le mot clef dans son contexte :
    (Pour information si je décommente cet instruction la modification ne se fait 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
     
    class GestClient
        {
     
    		public string IDClient;
    		public string nomClient;
    		public string prenomClient;
    		public string adresse;
    		public string ville;
    		public string tel;
    		public string email;
     
    		public Boolean verbose = false;
     
    		public bool Lire()
    		{
    			try
    			{
     
     
    				string Query = "SELECT * FROM t_clients WHERE CLI_ID = @Param_IDClient  ;";
     
    				MySqlCommand MyCommand = new MySqlCommand(Query, GestMysql.Cnx_Mysql);
    				MySqlParameter Param_IDClient = new MySqlParameter("@Param_IDClient", MySqlDbType.VarChar);
     
    				Param_IDClient.Value = this.IDClient;
    				//Param_IDClient.Direction = ParameterDirection.Output;
    				MyCommand.Parameters.Add(Param_IDClient);
    				MyCommand.Prepare();
    				MySqlDataReader Curseur = MyCommand.ExecuteReader();
     
    				while (Curseur.Read())
    				{
    					if (Curseur["CLI_ID"] is System.DBNull)			{ this.IDClient = String.Empty; }		else	{ this.IDClient = Convert.ToString(Curseur["CLI_ID"]); };		
    					if (Curseur["CLI_Nom"] is System.DBNull)		{ this.nomClient = String.Empty; }		else	{ this.nomClient = Convert.ToString(Curseur["CLI_Nom"]); };
    					if (Curseur["CLI_Prenom"] is System.DBNull)		{ this.prenomClient = String.Empty; }	else	{ this.prenomClient = Convert.ToString(Curseur["CLI_Prenom"]); };
    					if (Curseur["CLI_Rue"] is System.DBNull)		{ this.adresse = String.Empty; }		else	{ this.adresse = Convert.ToString(Curseur["CLI_Rue"]); };
    					if (Curseur["CLI_Ville"] is System.DBNull)		{ this.ville = String.Empty; }			else	{ this.ville = Convert.ToString(Curseur["CLI_Ville"]); };
    					if (Curseur["CLI_Tel"] is System.DBNull)		{ this.tel = String.Empty; }			else	{ this.tel = Convert.ToString(Curseur["CLI_Tel"]); };
    					if (Curseur["CLI_Email"] is System.DBNull)		{ this.email = String.Empty; }			else	{ this.email = Convert.ToString(Curseur["CLI_Email"]); };
    				}
     
    				Curseur.Close();
    				return true;
    			}
     
    			catch (Exception ex)
    			{
    				MessageBox.Show(ex.Message);
    				return false;
    			}
     
    		}
    Je vous remercie à tous pour votre aide.

  2. #2
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 674
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 674
    Points : 5 259
    Points
    5 259
    Par défaut
    Extrait de l'aide du composant que tu utilises :
    https://dev.mysql.com/doc/dev/connec...lParameter.htm
    Gets or sets a value indicating whether the parameter is input-only, output-only, bidirectional, or a stored procedure return value parameter. As of MySql version 4.1 and earlier, input-only is the only valid choice.
    Sa traduction avec Google Translate :
    Obtient ou définit une valeur indiquant si le paramètre est un paramètre d'entrée uniquement, de sortie uniquement, bidirectionnel ou un paramètre de valeur de retour de procédure stockée. À partir de la version 4.1 de MySql et des versions antérieures, "entrée uniquement" est le seul choix valide.
    Tu fait une requête de sélection en fournissant un paramètre pour la clause Where.
    Tu as donc un paramètre sensé être utilisé en entrée uniquement, ce qui est la valeur par défaut et explique pourquoi la ligne commentée ne sert à rien.
    Si tu enlève le commentaire, tu dis à MySQL qu'il s'agit d'un paramètre de sortie (Output) et cette incohérence ne plait pas au moteur.

  3. #3
    Membre actif Avatar de thierrybatlle
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2005
    Messages
    618
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2005
    Messages : 618
    Points : 222
    Points
    222
    Par défaut
    Bonjour,
    Merci beaucoup je comprends mieux l'intérêt de cette ligne de commande.
    Bonne journée

Discussions similaires

  1. compréhension de code en asp
    Par bidule123456 dans le forum ASP
    Réponses: 1
    Dernier message: 21/08/2007, 11h12
  2. compréhension de code (passage à une autre page)
    Par kokokaine dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 04/05/2007, 11h02
  3. Réponses: 3
    Dernier message: 12/01/2007, 09h42
  4. [VB-Access]recset! Pb de compréhension de code
    Par sk8bcn dans le forum VBA Access
    Réponses: 5
    Dernier message: 15/12/2006, 15h26
  5. Compréhension du code
    Par Ivanelis dans le forum Assembleur
    Réponses: 3
    Dernier message: 12/06/2006, 12h08

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