cs_err1
Messages postés2Date d'inscriptionmercredi 12 avril 2006StatutMembreDernière intervention25 juillet 2008
-
25 juil. 2008 à 15:49
cs_err1
Messages postés2Date d'inscriptionmercredi 12 avril 2006StatutMembreDernière intervention25 juillet 2008
-
25 juil. 2008 à 15:58
Bonjour, (ici, ça rime avec au secours !)
Voilà : J'ai un petit problème en C#... (via VS2008) : je souhaite insérer une ligne dans une table !
Le hic c'est que dans mon ordre d'insert, je fais appel à une fonction... et le VS, outre le fait de me dire qu'il y a certainement une erreur dans mon code, transforme ma requête au dernier moment... ce qui fait planter le tout...
Voici ma requête :
INSERT INTO MA_TABLE (SOCIETE_KEY, PROJET_KEY, NUM_TABLE_REF, NOM_TABLE, LIBELLE)
VALUES (:SOCIETE_KEY, :PROJET_KEY, utils.GetNewId('MA_TABLE'), :NOM_TABLE, :LIBELLE)
on ne peut plus basic : la fonction GetNewId('x'), vous l'aurez compris, allant chercher un nouvel ID pour la table x...
Je reçois l'erreur : "ORA-01036: numéro/nom de variable interdit"...
J'ai trouvé une solution qui ne me satisfait pas, c'est d'ajouter une colonne tampon dans laquelle je peux renseigner le nom de la table. Dans ce cas la commande devient :
INSERT INTO MA_TABLE (SOCIETE_KEY, PROJET_KEY, NUM_TABLE_REF, NOM_TABLE, LIBELLE)
cs_err1
Messages postés2Date d'inscriptionmercredi 12 avril 2006StatutMembreDernière intervention25 juillet 2008 25 juil. 2008 à 15:58
Bon,
j'ai oublié une autre solution aussi qui était de parser avant chaque Update les nouvelles lignes. Puis pour chacune de récupérer le dernier ID et de la mettre dans la colonne qui correspond...
Possible, moins "sale" que la solution précédente, mais très frustrant tout de même...
err1