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

Fermé
chlebta*tsotsi Messages postés 75 Date d'inscription mardi 28 octobre 2008 Statut Membre Dernière intervention 3 octobre 2016 - 11 mai 2011 à 15:32
Ronieee Messages postés 70 Date d'inscription jeudi 30 juillet 2009 Statut Membre Dernière intervention 6 février 2013 - 10 juin 2011 à 16:43
Bonjour,
Je suis entrain de développez un programme et je rencontre ce problème lors de création d'un requête d'ajout:
Code c#:
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:
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
   )



1 réponse

Ronieee Messages postés 70 Date d'inscription jeudi 30 juillet 2009 Statut Membre Dernière intervention 6 février 2013 38
10 juin 2011 à 16:43
Dans ton code , tu as :
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;

Sachant que ta table contient CIN NOM ADRESSE et NUM_TEL, pourquoi la quatrième ligne de ce que je t'ai cité, il ya @cin, alors que ca devrait/pourrait etre num ?
(Je répond, mais je ne sais pas...)

Sinon, un lien qui pourrait peut-etre t'aider : https://www.developpez.net/forums/d1079120/dotnet/langages/csharp/debutant-erreur-ora-01036-numero-nom-variable-interdit/
0