Accès base données: je bloque

Signaler
Messages postés
5
Date d'inscription
mercredi 17 février 2010
Statut
Membre
Dernière intervention
14 mars 2010
-
Messages postés
5
Date d'inscription
mercredi 17 février 2010
Statut
Membre
Dernière intervention
14 mars 2010
-
Voici Mon code:
IDbConnection con = new OracleConnection();
String ConnectionString = "Data Source=localhost:1521/XE;User Id=mbg;Password=mbg;";
con.ConnectionString = ConnectionString;
con.Open();
MessageBox.Show("connecté");
//jusqu'à ici ça marche
IDbCommand cmd = con.CreateCommand();
cmd.CommandType = CommandType.Text;
cmd.CommandText = "INSERT INTO DEVIS ( REF,NOM) VALUES ( 122,@NAME) ";
IDbDataParameter ParamName = cmd.CreateParameter();
ParamName.ParameterName = "@NAME";
ParamName.DbType = DbType.String;
ParamName.Direction = ParameterDirection.Input;
ParamName.Value = "KAKA";
cmd.Parameters.Add(ParamName);
cmd.ExecuteNonQuery();
con.Close();

Lors du débogage le programme s'arrête à "cmd.ExecuteNonQuery()" et m'affiche le message: ORA-01036 numéro/nom de variable interdit.

SVP aider MOI

2 réponses

Messages postés
834
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
14 janvier 2017
28
Bonsoir,

je ne suis pas un spécialiste d'Oracle, mais les parametres doivent être préfixés par ':' et non pas '@' comme dans SQL Server.

pour info{ici}
C# is amazing, enjoy it!
Messages postés
5
Date d'inscription
mercredi 17 février 2010
Statut
Membre
Dernière intervention
14 mars 2010

Merci pour l'info mais j'ai trouvé et voici la solution.

DbConnection connexion2 = new OleDbConnection();
String ConnectionString = "Provider=OraOLEDB.Oracle;Data Source=localhost:1521/XE;User Id=mbg;Password=mbg;";
connexion2.ConnectionString = ConnectionString;
connexion2.Open();
string mySelectQuery = @"INSERT INTO DEVIS (REF,NOM) VALUES (:REF,:Titre)";

DbCommand Command = connexion2.CreateCommand();
Command.CommandType = CommandType.Text;
Command.CommandText = mySelectQuery;


DbParameter paramREF = Command.CreateParameter();

paramREF.ParameterName = "@REF";
paramREF.Direction = ParameterDirection.Input;
paramREF.Value = 87;
Command.Parameters.Add(paramREF);


DbParameter param = Command.CreateParameter();
param.ParameterName = "@Titre";
param.Direction = ParameterDirection.Input;
param.Value=toolStripLabel1.Text;
Command.Parameters.Add(param);




Command.ExecuteNonQuery();
Command.Parameters.Clear();
connexion2.Close();