c# - passing NVARCHAR value to stored procedure -
i have stored procedure nvarchar parameter this:
alter procedure [dbo].[hr_companies_getbyidandname] @companyname nvarchar(100), @lang int = 1 select * companies (@lang = 1 , namelang1 @companyname ) or (@lang = 2 , namelang2 @companyname ) ) i want supply nvarchar value using syntax:
dbhelper _helper = new dbhelper(); _helper.storedproc = "hr_companies_getbyidandname"; _helper.addparam("@companyname", "n'%" + company.trim() + "%'", sqldbtype.nvarchar); _helper.addparam("@lang", language, sqldbtype.int); return _helper.gettable(); but returning null.
when run query without stored procedure select * companies companyname n'%mycompanyname%', returns result.
how add n using dbhelper addparameter?
i'm not sure dbhelper pass nvarchar type values stored procs, following standard way:
var param = new sqlparameter("@companyname ", sqldbtype.nvarchar, size) param.value = company.trim(); the 3rd parameter above size of nvarchar parameter declared in sproc using nvarchar(size) syntax. if nvarchar(max) use -1.
also note don't need use "n %" prefix. ado.net layer takes care of it.
Comments
Post a Comment