sql >> Databáze >  >> RDS >> Sqlserver

C#, sp_executesql a nesprávná syntaxe

Všiml jsem si, že jste nenastavili CommandType na StoredProcedure... Nevím, jestli je to příčina vašeho problému nebo ne:

cmd.CommandType = CommandType.StoredProcedure;

Sám jsem to udělal tolikrát, že to nedokážu spočítat.

Tip pro spuštění paměti, když to příště vyvolá výjimky:

Při spuštění aplikace mějte otevřený SQL Query Profiler. Po provedení každého příkazu se zobrazí SQL vygenerované a spuštěné na straně serveru. Pokud vygenerovaný SQL začíná sp_executesql následovaný vaším dotazem a poté je spuštěn jako běžný dotaz – tj. cmd.CommandType = CommandType.Text , pokud začíná exec , je pravděpodobné, že bude spuštěn jako uložený proc. Ujistěte se, že získáváte správný SQL generovaný pro typ dotazu, který se pokoušíte spustit.




  1. Vyberte uživatele, kteří patří pouze do určitých oddělení

  2. jak používat kaskádu v oracle

  3. Užitečné dotazy na vypršení platnosti hesla/zásady/nastavení oracle EBS

  4. Jak vybrat podřetězec v oracle?