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

Messages postés
7
Date d'inscription
lundi 21 octobre 2013
Statut
Membre
Dernière intervention
14 mars 2014
- - Dernière réponse : cs_Robert33
Messages postés
834
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
14 janvier 2017
- 15 mars 2014 à 09:41
Bonjour,
je souhaiterai faire cette insertion mais j ai une erreur comme quoi "erreur:System.Data.OracleClient.OracleExeption: ORA-01036: numéro/nom de variable interdit"
est ce que quelqu un peu me donner une réponse clair, parceque je débute et c'est pas évident encore!!!

Voici mon code:
##
public void Enregistrer()
{
try
{
OracleConnection connection = Connexion.connecter();
OracleCommand command = new OracleCommand();
string requete = "INSERT INTO CATEGORIE (ID_CATEGORIE,LIBELLE,DESCRIPTION) VALUES(SequenceCategorie.NextVal,@libelle,@description)";
command.Connection = connection;
command.CommandText = requete;
command.Prepare();
command.Parameters.AddWithValue("@libelle", this.libelle);
command.Parameters.AddWithValue("@description",this.description);
command.ExecuteNonQuery();
MessageBox.Show("Enregistrement effectué avec Succès");
connection.Close();
}
catch (OracleException ex)
{
MessageBox.Show("erreur:"+ex.ToString());
}
}
##

Merci 1000 fois.
Afficher la suite 

2 réponses

Messages postés
26974
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
8 décembre 2019
318
0
Merci
Bonjour,

TOn champ ID_CATEGORIE .. ne serait-ce pas un champ auto incrémenté ?
Si c'est le cas... tu n'as pas à le traiter dans ta requête.. c'est ta BDD qui s'en charge toute seule.
sad55Mauvyche
Messages postés
7
Date d'inscription
lundi 21 octobre 2013
Statut
Membre
Dernière intervention
14 mars 2014
-
merci. mais Je l'ai assaille mais sa na pas marcher ; j'ai le même message d'erreurs. J'ai créé une séquence pour ce champ( ID_CATEGORIE ..).
Commenter la réponse de jordane45
Messages postés
834
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
14 janvier 2017
26
0
Merci
Bonjour

de mémoire, je crois que pour Oracle la syntaxe des paramètres est différentes que pour SQL server.
Essaye de remplacer les '@' par des ':'

string requete = "INSERT INTO CATEGORIE (ID_CATEGORIE,LIBELLE,DESCRIPTION)
VALUES(SequenceCategorie.NextVal,:libelle,:description);
...
command.Parameters.AddWithValue(":libelle", this.libelle);
command.Parameters.AddWithValue(":description",this.description);

Commenter la réponse de cs_Robert33