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 :

[DEBUTANT] Erreur: ORA-01036: numéro/nom de variable interdit


Sujet :

C#

  1. #1
    Membre très actif
    Inscrit en
    Juin 2008
    Messages
    131
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 131
    Par défaut [DEBUTANT] Erreur: ORA-01036: numéro/nom de variable interdit
    Bonjour,
    Je suis entrain de développez une petite application et j'ai eu quelque problème Lors de création d'un bouton qui permet d'ajouter un utilisateur a ma BD. Voici Mon code:
    Code c#:
    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
    private void Ajouter_Click(object sender, EventArgs e)
            {
                OracleConnection connexion = new OracleConnection("Data Source=127.0.0.1;User Id=library;Password=admin;");
     
                OracleDataAdapter cmd = new OracleDataAdapter();
                cmd.InsertCommand = new OracleCommand("INSERT INTO UTILISATEUR VALUES(12343,@nom,@adresse,234)", connexion);
     
                cmd.InsertCommand.Parameters.Add("@nom", OracleType.VarChar).Value = nom.Text;
                cmd.InsertCommand.Parameters.Add("@cin", OracleType.Number, 8).Value = cin.Text;
                cmd.InsertCommand.Parameters.Add("@adresse", OracleType.VarChar).Value = adresse.Text;
                cmd.InsertCommand.Parameters.Add("@cin", OracleType.Number, 8).Value = num.Text;
     
                connexion.Open();
                cmd.InsertCommand.ExecuteNonQuery(); // L'erreur est içi
                connexion.Close();
     
            }
    code SQL de création du table:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    CREATE TABLE  "UTILISATEUR" 
       (	"CIN" NUMBER(8,0) NOT NULL ENABLE, 
    	"NOM" VARCHAR2(100) NOT NULL ENABLE, 
    	"ADRESSE" VARCHAR2(100) NOT NULL ENABLE, 
    	"NUM_TEL" NUMBER(8,0) NOT NULL ENABLE, 
    	 CONSTRAINT "UTILISATEUR_PK" PRIMARY KEY ("CIN") ENABLE
       )
    Merci d'avance.

  2. #2
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2005
    Messages
    700
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Juin 2005
    Messages : 700
    Par défaut
    voir ma réponse à ce post d'avant hier, vous avez fait exactement la meme erreur

    http://www.developpez.net/forums/d10...nregistrement/


    Autant pour moi j'avais lu votre code un peu trop vite...
    Je regarde...

  3. #3
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2005
    Messages
    700
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Juin 2005
    Messages : 700
    Par défaut
    ok

    1) votre requette INSERT ne me parrait pas bonne, il me semble que vous devez préciser les collones:
    INSERT INTO TABLES (col1,col2) VALUES(val1,val2)

    2) voici un extrait de code (qui fonctionne) d'un de mes projet qui se rapproche de exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     m_adapter.InsertCommand = new OracleCommand(String.Format("INSERT INTO {0} ({1}) VALUES (:pSN)", m_table, m_collumn), m_database.Connection);
                m_adapter.InsertCommand.Parameters.Add("pSN", OracleDbType.Varchar2, m_maxSnLenght, m_collumn);

  4. #4
    Membre chevronné
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2009
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Février 2009
    Messages : 317
    Par défaut
    On n'est pas obligé de spécifier les colonnes, si on insère toutes les valeurs pour les colonnes, spécifier les colonnes n'est pas nécessaire.

    Dans ce cas ci, ce n'est pas nécessaire.

  5. #5
    Membre très actif
    Inscrit en
    Juin 2008
    Messages
    131
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 131
    Par défaut
    @giova_fr Toujours même problème

  6. #6
    Membre chevronné
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2009
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Février 2009
    Messages : 317
    Par défaut
    Peux tu nous donner un peu plus de détail sur l'erreur en question ?

    Ca peut venir de plusieurs choses ...

  7. #7
    Membre très actif
    Inscrit en
    Juin 2008
    Messages
    131
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 131
    Par défaut
    quand je clique sur la bouton ajouter il m'affiche le code d'erreur dans le ligne indique ce tout. il n'affiche rien d'autre.

  8. #8
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    OracleDataAdapter cmd = new OracleDataAdapter();
                cmd.InsertCommand = new OracleCommand("INSERT INTO UTILISATEUR VALUES(12343,:nom,:adresse,234)", connexion);
                cmd.InsertCommand.BindByName = true;
                cmd.InsertCommand.Parameters.Add("nom", OracleType.VarChar).Value = nom.Text;
                cmd.InsertCommand.Parameters.Add("cin", OracleType.Number, 8).Value = cin.Text;
                cmd.InsertCommand.Parameters.Add("adresse", OracleType.VarChar).Value = adresse.Text;
                cmd.InsertCommand.Parameters.Add("cin", OracleType.Number, 8).Value = num.Text;

  9. #9
    Membre très actif
    Inscrit en
    Juin 2008
    Messages
    131
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 131
    Par défaut
    Pour Utilise BindByName est cette fonction n'est pas connu par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    using using System.Data.OracleClient;
    Alors il faut ajouter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    using Oracle.DataAcces.Client;
    Ce qui implique un conflit entre le deux bibliothèque alors je doit faire quoi???

  10. #10
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Par défaut
    Citation Envoyé par chlebta*tsotsi Voir le message
    Pour Utilise BindByName est cette fonction n'est pas connu par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    using using System.Data.OracleClient;
    Alors il faut ajouter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    using Oracle.DataAcces.Client;
    Ce qui implique un conflit entre le deux bibliothèque alors je doit faire quoi???
    Essaie sans le bindbyname avec System.Data.OracleClient mais il me semble que ca ne marche pas les bind nommés avec ce provider. Il faut utiliser des :1 :2 :3 (ordre dans la collection des paramètres)

  11. #11
    Membre très actif
    Inscrit en
    Juin 2008
    Messages
    131
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 131
    Par défaut
    Merci les amis pour vous effort ce résolu et un grand merci pour Nathanael Marchand

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

Discussions similaires

  1. Numéro/Nom de variable interdit
    Par juju1988 dans le forum Langage
    Réponses: 11
    Dernier message: 25/09/2013, 16h16
  2. ORA-01036 : numéro/nom de variable interdit
    Par Crowww dans le forum VB.NET
    Réponses: 13
    Dernier message: 28/05/2013, 13h11
  3. ORA-01036:numéro/nom de variable interdit
    Par ahmedige dans le forum VB.NET
    Réponses: 1
    Dernier message: 18/05/2011, 17h18
  4. ORA-01036: numéro/nom de variable interdit
    Par cnguyen dans le forum SQL
    Réponses: 11
    Dernier message: 25/03/2010, 17h01
  5. Erreur ORA-01036 - numéro/nom de variable interdit
    Par Daikyo dans le forum Windows Forms
    Réponses: 1
    Dernier message: 11/06/2008, 03h25

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