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

Accès aux données Discussion :

[ADO.Net][C#/Oracle]Comment gérer OracleType.VarChar?


Sujet :

Accès aux données

  1. #1
    Futur Membre du Club
    Inscrit en
    Avril 2004
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 7
    Points : 5
    Points
    5
    Par défaut [ADO.Net][C#/Oracle]Comment gérer OracleType.VarChar?
    Bonjour,

    J'essaye d'executer uen requete qui prends 2 parametres. Ces parametres sont des strings pour C# mais des varchar pour Oracle ...
    Il y a t-il un cast a faire pour pouvoir faire la comparaison ???
    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
     
    ...
                           // Requête SQL a exécuter
    			string sQuery = "SELECT count(*) FROM person WHERE name_person=:name AND password=:passwd";
     
    			// Instanciation de l'objet OracleCommand et de ses propriétés
    			controller.Application.DbConnection.Open();
    			OracleCommand cmd = new OracleCommand(sQuery);
    			cmd.Connection = controller.Application.DbConnection.GetConnection;
    			cmd.CommandType = CommandType.Text;
     
    			OracleParameter name = new OracleParameter("name", OracleType.VarChar,25,"NAME_PERSON");
    			name.Value = n;
     
    			OracleParameter passwd = new OracleParameter("passwd", OracleType.VarChar,25,"PASSWORD");
    			passwd.Value = p;
     
    			// On ajoute cette liste de paramètre à l'objet OracleCommand cmd
    			cmd.Parameters.Add(name);
    			cmd.Parameters.Add(passwd);
     
    			// On exécute la requête
    			OracleDataReader reader = cmd.ExecuteReader();
     
     
    			// Libération des ressources
    			if (reader.Read())	{
    				MessageBox.Show("Nombre : " + reader.GetInt32(0) + cmd.CommandText);
    ...

    p et n sont des strings passés en parametres d'une fonction ...


    Il me trouve aucun enregistrement alors que si je compare des int, il en trouve !!!

    Merci de votre aide

  2. #2
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut Re: [C# / Oracle] Probleme string de C# et varchar d'Oracle
    Essayes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    // Requête SQL a exécuter
    string sQuery = "SELECT count(*) FROM person WHERE name_person=:name AND password=:passwd";
    //...
    // Instanciation de l'objet OracleCommand et de ses propriétés
    OracleCommand cmd = new OracleCommand(sQuery);
    cmd.Connection = controller.Application.DbConnection.GetConnection;
    cmd.Parameters.Add("name",OracleType.VarChar,25).Value = n;
    cmd.Parameters.Add("passwd",OracleType.VarChar,25).Value = p;
     
    // ...
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  3. #3
    Futur Membre du Club
    Inscrit en
    Avril 2004
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Pas mieux ...
    C'est étrange !!!

  4. #4
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    je ne suis pas spécialiste sql mais tu penses vraiment que ta requête est correcte
    "SELECT count(*) FROM ...
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  5. #5
    DrQ
    DrQ est déconnecté
    Membre expérimenté
    Avatar de DrQ
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    388
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 388
    Points : 1 515
    Points
    1 515
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    // Requête SQL a exécuter
    string sQuery = "SELECT count(*) FROM person WHERE name_person=:name AND password=:passwd";
    //...
    // Instanciation de l'objet OracleCommand et de ses propriétés
    OracleCommand cmd = new OracleCommand(sQuery);
    cmd.Connection = controller.Application.DbConnection.GetConnection;
    cmd.Parameters.Add(new OracleParameter("name",OracleDbType.VarChar,n,ParameterDirection.Input));
    cmd.Parameters.Add(new OracleParameter("passwd",OracleDbType.VarChar,p,ParameterDirection.Input));
     
    // ...
    Voilà que je fais et ça marche. Pour info j'utilise ODP.NET.
    1)http://www.developpez.com/cours/
    2)Recherche
    3)Posez votre question en suivant les règles
    _oOo-DrQ-oOo_

  6. #6
    Futur Membre du Club
    Inscrit en
    Avril 2004
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Merci, cette fois ca marche ...
    Je vois une grande différence mais j'ai changé tellement de chose que ca a du tout débloquer ...

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

Discussions similaires

  1. [C#][ADO.NET][2.0] Comment inserer des enregistrement ....
    Par doccpu dans le forum Accès aux données
    Réponses: 2
    Dernier message: 02/03/2006, 14h39
  2. [.NET 2.0] Comment gérer correctement des sockets ?
    Par MattC dans le forum Framework .NET
    Réponses: 2
    Dernier message: 08/02/2006, 16h31
  3. [ADO.Net][C#/Mysql] Comment exécuter une requête paramétrée?
    Par wremacle dans le forum Accès aux données
    Réponses: 6
    Dernier message: 07/02/2006, 16h55
  4. [ADO.NET][C#/CSV]Comment acceder autres extensions que .txt?
    Par neptune dans le forum Accès aux données
    Réponses: 1
    Dernier message: 24/01/2006, 13h55
  5. [ADO.Net][C#/Oracle] Comment utiliser une requête paramètrée ?
    Par kaboume dans le forum Accès aux données
    Réponses: 4
    Dernier message: 05/07/2005, 14h50

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