Prova a farti stampare la query, poi provi ad eseguirla manualmente, probabilmente ti accorgerai che la query non rispetta la sintassi perchè manca qualcosa, li allora potrai indagare meglio.
Probabilmente ci sono errori nei passaggi di parametro.
Consiglio, con errori di questo tipo fai stampe continue per controllare lo stato delle variabili e dei parametri, almeno ti accorgi subito cosa e dove non va.