J'ai une base de données SQL Server 2005. Dans quelques procédures, j'ai des paramètres de table que je transmets à une procédure stockée en tant qu'élément d'information. nvarchar
(séparés par des virgules) et les diviser en valeurs individuelles. Je l'ajoute à la liste des paramètres de la commande SQL comme ceci :
cmd.Parameters.Add("@Logins", SqlDbType.NVarchar).Value = "jim18,jenny1975,cosmo";
Je dois faire migrer la base de données vers SQL Server 2008. Je sais qu'il existe des paramètres de valeur de table, et je sais comment les utiliser dans les procédures stockées. Mais je ne sais pas comment en passer un à la liste des paramètres dans une commande SQL.
Est-ce que quelqu'un connaît la syntaxe correcte de la Parameters.Add
procédure ? Ou existe-t-il un autre moyen de transmettre ce paramètre ?
0 votes
Consultez cette solution : Procédure stockée avec paramètre évalué par la table dans EF. code.msdn.microsoft.com/Stored-Procedure-with-6c194514
0 votes
Dans un cas comme celui-ci, j'ai l'habitude de concaténer des chaînes de caractères et de les diviser du côté du serveur ou de passer même un xml si j'ai plusieurs colonnes. Sql est très rapide lors du traitement du xml. Vous pouvez essayer toutes les méthodes et vérifier le temps de traitement et après cela choisir la meilleure méthode. Un XML ressemblerait à <Items><Item value="sdadas"/><Item value="sadsad"/>...</Items>. Le processus sur Sql Server est également simple. En utilisant cette méthode, vous pouvez toujours ajouter un nouvel attribut à <item> si vous avez besoin de plus d'informations.
4 votes
@NituAlexandru, "Sql c'est très rapide quand on traite du xml.". Pas du tout.