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