Click here to Skip to main content
15,896,207 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

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 ;)
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
 

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