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 :

[ASP.NET 2.0 - DAAB]Passage de parametre dans requete


Sujet :

Accès aux données

  1. #1
    Membre expérimenté Avatar de bizet
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2005
    Messages
    717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 717
    Points : 1 338
    Points
    1 338
    Par défaut [ASP.NET 2.0 - DAAB]Passage de parametre dans requete
    Bonjour,

    j'utilises DAAB pour la gestion de mes connexions à la base de donnée pour mon application web.

    Je rencontre un soucis de passage de parametre pour ma base de donnée Oracle 10g

    Voila le code de la page web :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Database db = DatabaseFactory.CreateDatabase("Oracle");
     
    string sqlQuery = "SELECT * FROM portail_infos where ID=@ID";
     
    DbCommand command = db.GetSqlStringCommand(sqlQuery); 
    db.AddInParameter(command,"@Id",DbType.Int32,Convert.ToInt32(id));
     
    using (IDataReader reader = db.ExecuteReader(command))
    Et j'ai une erreur sur la derniere ligne qui est :

    System.Data.OracleClient.OracleException: ORA-01036: numéro/nom de variable interdit

    Si j'ecris ma requete de cette facon :
    "SELECT * FROM portail_infos where ID=1";

    la requete est accepté mais elle ne l'est pas avec le passage de parametre.

    dans ma base de donnée oracle, ID est un number(38) car j'ai rentré lors de la création de la table (Integer)

    J'ai essayé avec Number(32) mais meme effet.

    Donc voila si quelqu'un a la solution a mon probleme, je suis preneur.

    Merci

  2. #2
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Points : 6 334
    Points
    6 334
    Par défaut
    Tu as essayé avec quelquechose comme ça ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Database db = DatabaseFactory.CreateDatabase("Oracle");
     
    string sqlQuery = "SELECT * FROM portail_infos where ID=:IDENTIFIANT";
     
    DbCommand command = db.GetSqlStringCommand(sqlQuery); 
    db.AddInParameter(command,"IDENTIFIANT",DbType.Int32,Convert.ToInt32(id));
     
    using (IDataReader reader = db.ExecuteReader(command))

  3. #3
    Membre expérimenté Avatar de bizet
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2005
    Messages
    717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 717
    Points : 1 338
    Points
    1 338
    Par défaut
    Merci saumon de ton aide, elle m'a bien été précieuse.

    En effet ta solution n'est pas correcte mais elle m'a permis de trouvé ce qui était correcte :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    string sqlQuery = "SELECT * FROM portail_infos where id=:IDENTIFIANT";
     
    DbCommand command = db.GetSqlStringCommand(sqlQuery);
     
    db.AddInParameter(command, ":IDENTIFIANT", DbType.Int32, Convert.ToInt32(id));

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 18/07/2005, 15h04
  2. Réponses: 16
    Dernier message: 17/06/2005, 16h44
  3. Réponses: 3
    Dernier message: 05/04/2005, 15h26
  4. Réponses: 6
    Dernier message: 24/12/2004, 17h46
  5. [langage] Passage de paramètres dans une fonction
    Par And_the_problem_is dans le forum Langage
    Réponses: 11
    Dernier message: 28/06/2004, 09h20

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