Click here to Skip to main content
15,921,837 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
my stored
SQL
 ALTER PROCEDURE [dbo].[GetDataByLikeFun] 
@TblName nvarchar(max),@FieldName nvarchar(max),@ValParam nvarchar(max) 
AS 
BEGIN
 declare @TAblE nvarchar(max);
 set @ValParam='LIKE ''%'+@ValParam+'%'
 set @TAblE = 'Select * From ' + @TblName + ' WHERE ' + @FieldName+@ValParam
exec(@TAblE)

END


Display Error

Msg 105, Level 15, State 1, Line 3 Unclosed quotation mark after the character string '%d%'. Msg 4145, Level 15, State 1, Line 3 An expression of non-boolean type specified in a context where a condition is expected, near '%d%'.

any one solved it
Posted
Updated 15-Oct-14 19:57pm
v2

SQL
alter PROCEDURE [dbo].[GetDataByLikeFun]
@TblName nvarchar(max),@FieldName nvarchar(max),@ValParam nvarchar(max)
AS
BEGIN
 declare @TAblE nvarchar(max);
 set @ValParam=' LIKE ''%'+@ValParam+'%'''
 set @TAblE = 'Select * From ' + @TblName + ' WHERE ' + @FieldName+@ValParam

exec(@TAblE)

END


Please mark it as answer, if this solution helps.
 
Share this answer
 
Um...have you considered spacing?
Assume @FieldName is 'Customer', your @ValParm is 'Coffee', and your @TAble becomes:
Select * From MyTable WHERE CustomerLIKE '%Coffee%'

Add a space:
SQL
set @ValParam='LIKE ''%'+@ValParam+'%'
Becomes:
SQL
set @ValParam=' LIKE ''%'+@ValParam+'%'
 
Share this answer
 
Comments
alhlwany.it 17-Sep-14 5:20am    
Thank you very much
OriginalGriff 17-Sep-14 5:24am    
You're welcome!
Maciej Los 16-Oct-14 1:54am    
Hawk eye ;)

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900