Comment écrire une requête d’insertion paramétrée dans Oracle?

J’utilise oracle comme base et j’écris une requête d’insertion comme suit, je ne sais pas si elle est correcte,

insert into Emp_table (SL_NO,empane,empid,salaray) values(1,'sree',1002 ,:salary); 

ici, dans la requête, je calcule le salaire avec la procédure stockée et je reçois comme paramètre de traitement, donc je dois le transmettre à ma requête d’insertion, comment puis-je écrire. si j’écris comme indiqué, j’obtiens des erreurs

 ORA-06550: line 1, column 175: PL/SQL: ORA-00933: SQL command not properly ended ORA-06550: line 1, column 7: PL/SQL: SQL Statement ignored 

aidez-moi gentiment.

En supposant que le montant du salaire est 20000, vous pouvez essayer ce code:

 var commandText = "insert into Emp_table (SL_NO,empane,empid,salaray) values(:SL_NO,:empane,:empid,:salary)"; using (OracleConnection connection = new OracleConnection(connectionSsortingng)) using (OracleCommand command = new OracleCommand(commandText, connection)) { command.Parameters.AddWithValue("SL_NO", 1); command.Parameters.AddWithValue("empane", "sree"); command.Parameters.AddWithValue("empid", 1002); command.Parameters.AddWithValue("salaray", 20000); command.Connection.Open(); command.ExecuteNonQuery(); command.Connection.Close(); } 

Microsoft a déconseillé d’ utiliser son fournisseur Oracle (System.Data.OracleClient). Vous devez donc utiliser un fournisseur tiers, tel que le fournisseur de données Oracle pour .NET . L’exemple de code ci-dessous est essentiellement identique à la réponse de FSX , sans la commodité de la méthode AddWithValue .

 command.Parameters.Add(new OracleParameter("SL_NO", 1)); command.Parameters.Add(new OracleParameter("empane", "sree")); 
  ssortingn sql= "insert into Emp_table (SL_NO,empane,empid,salaray) values(:SL_NO,:empane,:empid,:salary)"; OracleCommand command = new OracleCommand(sql, connection) command.Parameters.Add(new OracleParameter("SL_NO", 1); command.Parameters.Add(new OracleParameter("empane", "sree")); command.Parameters.Add(new OracleParameter(("empid", 1002)); command.Parameters.Add(new OracleParameter(("salaray", 20000)); command.Connection.Open(); command.ExecuteNonQuery(); command.Connection.Close();