Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

C#, sp_executesql et syntaxe incorrecte

Je remarque que vous n'avez pas défini CommandType sur StoredProcedure... Je ne sais pas si c'est la cause de votre problème ou non :

cmd.CommandType = CommandType.StoredProcedure;

Je l'ai fait tellement de fois moi-même que je ne peux pas compter.

Conseil pour déclencher votre mémoire lorsque cela génère des exceptions la prochaine fois :

Ouvrez SQL Query Profiler pendant que vous exécutez votre application. Lorsque chaque commande s'exécute, elle affiche le SQL généré et exécuté côté serveur. Si le SQL généré commence par sp_executesql suivi de votre requête, puis il est exécuté comme une requête régulière - c'est-à-dire cmd.CommandType = CommandType.Text , s'il commence par exec , il y a de fortes chances qu'il soit exécuté en tant que proc stocké. Assurez-vous que vous obtenez le code SQL correct généré pour le type de requête que vous essayez d'exécuter.