[SQL SERVER] Syntax error converting the varchar value
Bonjour,
Je suis vraiment coincé et je n'arrive pas à trouver l'erreur.
J'ai la SP (SQL SERVER) suivante :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
CREATE PROCEDURE [dbo].sp_select_usager
(
@SortBy varchar(20)
)
AS
BEGIN
Select table_usager.code_usager,
table_usager.nom_usager,
table_usager.ville_usager
etc...
ORDER BY CASE
WHEN @SortBy = 'code_usager' THEN table_usager.code_usager
WHEN @SortBy = 'nom_usager' THEN table_usager.nom_usager
WHEN @SortBy = 'ville_usager' THEN table_usager.ville_usager
END
END |
l'appel en delphi se fait à travers une procedure ainsi :
Code:
1 2 3 4 5 6 7 8
|
procedure TDM1.RefreshTable(oTable: TADOStoredProc;Param,oField:string);
begin
oTable.Close;
Table.Parameters.Refresh;
oTable.Parameters.ParamByName(Param).Value:=oField;
oTable.open;
end; |
Code:
1 2
|
DM1.RefreshTable(DM1.SpUsager,'@code_usager','code_usager'); |
J'obtiens l'erreur suivante :
Code:
1 2
|
syntax error converting the varchar value 'IN0002' to a column or data type int |
Le code_usager est de type varchar. J'ai meme essayer de passer d'autres champs j'obtiens tjrs la erreur enfin je ne comprend pas hier au debut ca a fonctionné trés bien et maintenant je galère depuis cette erreur...
Je vous remercie pour votre aide