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

VB.NET Discussion :

ORA-01036 : numéro/nom de variable interdit


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2013
    Messages : 84
    Par défaut ORA-01036 : numéro/nom de variable interdit
    Bonjour,

    J'ai un petit soucis avec une requête sql

    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
     
    Rqt2 = "INSERT INTO UTILISATEUR VALUES (ID_UTILISATEUR = :NbCompte , 'LOGIN = :Pseudo' ,  'MDP = :Mdp' , NIVEAU = :Niv)"
     
                            ' On crée une commande Oracle    
                            Using cmd2 = New OracleCommand()
                                cmd2.Connection = Me.objConnexion
                                cmd2.CommandText = Rqt2
                                cmd2.CommandType = CommandType.Text
     
                                ' On définit les valeurs des paramètres de la requête
                                cmd2.Parameters.Add(":Pseudo", OracleDbType.Varchar2).Value = txtNewID.Text()
                                cmd2.Parameters.Add(":Mdp", OracleDbType.Varchar2).Value = txtNewMDP.Text()
                                cmd2.Parameters.Add(":Niv", OracleDbType.Char).Value = txtNewNiv.Text()
                                cmd2.Parameters.Add(":NbCompte", OracleDbType.Char).Value = NbCompte
     
                                ' On exécute la requête    
                                Using dr2 As OracleDataReader = cmd2.ExecuteReader()
                                    ' On lit le résultat    
                                    dr2.Read()
     
                                    MessageBox.Show("Le compte a été créé avec succès!")
                                    Connection.Show()
                                    Me.Hide()
                                End Using
                            End Using
    Lorsque je tente d'insérer un new utilisateur il me renvoie l'erreur suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ORA-01036 : numéro/nom de variable interdit
    Je pense que l'erreur doit venir de la requête mais je ne sais pas comment la corriger

  2. #2
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par défaut
    Si tu remplace [CODEINLINE]'LOGIN = seudo' , 'MDP = :Mdp'[CODEINLINE] par LOGIN = :Pseudo, MDP = :Mdp (en enlevant les simple quotes), ça marche ?
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2013
    Messages : 84
    Par défaut
    Non sa marche pas
    J'ai un tout petit peu modifié sa donne ça:

    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
     
    Rqt2 = "INSERT INTO UTILISATEUR (LOGIN, MDP, NIVEAU, ID_UTILISATEUR) VALUES (:Pseudo, :Mdp, :Niv, :NbCompte)"
     
                                ' On crée une commande Oracle    
                                Using cmd2 = New OracleCommand()
                                    cmd2.Connection = Me.objConnexion
                                    cmd2.CommandText = Rqt2
                                    cmd2.CommandType = CommandType.Text
     
                                    ' On définit les valeurs des paramètres de la requête
                                    cmd2.Parameters.Add(":Pseudo", OracleDbType.Varchar2).Value = txtNewID.Text()
                                    cmd2.Parameters.Add(":Mdp", OracleDbType.Varchar2).Value = txtNewMDP.Text()
                                    cmd2.Parameters.Add(":Niv", OracleDbType.Int32).Value = txtNewNiv.Text()
                                    cmd2.Parameters.Add(":NbCompte", OracleDbType.Int32).Value = NbCompte
     
                                    ' On exécute la requête    
                                    Using dr2 As OracleDataReader = cmd2.ExecuteReader()
                                        ' On lit le résultat    
                                        dr2.Read()
     
                                        MessageBox.Show("Le compte a été créé avec succès!")
                                        Connection.Show()
                                        Me.Hide()
                                    End Using
                                End Using
    Seulement je me suis rendu compte qu'a cette ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Using dr2 As OracleDataReader = cmd2.ExecuteReader()
    L'application s’arrête et lit indéfiniment, elle ne plante même pas! sinon tout se passe bien avant, mais du coup il n’exécute pas la requête vu qu'il reste sur cette ligne, je ne sais pas pourquoi :s

  4. #4
    Membre expérimenté
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Par défaut
    ExecuteReader pour une requête d'insertion ? J'voudrais pas dire mais ça sent le pâté quand même là ^^.

    N.B. : Je n'ai plus bossé avec orable depuis mes études et ce n'était pas en .NET mais bon, j'imagine qu'ils ont quand même nommé les méthodes plus ou moins correctement. Si ce n'était pas le cas, je m'excuse platement.

  5. #5
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2013
    Messages : 84
    Par défaut
    Ce n'est pas executeReader? Tu as surement raison, je commence juste à utiliser les BDD dans mes applications du coup je connais encore très peu de chose :s Mais que faut-il utiliser pour une requête d'insertion dans ce cas?

  6. #6
    Membre expérimenté
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Par défaut
    Comme déjà dit, je n'utilise pas Oracle* mais vu que ça ressemble furieusement à SQL SERVEUR*, je tenterais mais chance avec ExecuteNonReader.

    ExecuteReader : requête de sélection
    ExecuteNonReader : tout le reste
    ExecuteScalar : requête de sélection qui ne renvoie qu'un seul résultat (genre un count par exemple)

    *:je parle bien sûr des classes .NET

+ 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, 15h16
  2. ORA-01036:numéro/nom de variable interdit
    Par ahmedige dans le forum VB.NET
    Réponses: 1
    Dernier message: 18/05/2011, 16h18
  3. Réponses: 10
    Dernier message: 11/05/2011, 18h14
  4. ORA-01036: numéro/nom de variable interdit
    Par cnguyen dans le forum SQL
    Réponses: 11
    Dernier message: 25/03/2010, 16h01
  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, 02h25

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