Try it the below given way -
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: Name
-- Create date:
-- Description:
-- =============================================
ALTER PROCEDURE [dbo].[SPSearching]
-- Add the parameters for the stored procedure here
@Mode varchar(50),
@WhereClause varchar(Max) = null
AS
if @Mode= 'ColumnNames'
BEGIN
SELECT column_name FROM information_schema.columns WHERE table_name = 'Hadiths_old'
END
if @Mode= 'Searching'
BEGIN
declare @SQL VARCHAR(MAX)
SET @SQL='Select [Hadith_Text]
,[Hadith_Urdu]
,[Hadith_English]
,[Chapter_English_Name]
,[Chapter_Urdu_Name]
,[Baab_English_Name]
,[Baab_Urdu_Name]
,[Baab_Id]
,[Hadith_Book_Number]
From Hadiths_old
Where ID < 34192 '
IF @WhereClause<>''
SET @SQL=@SQL+' AND '+ @WhereClause + ' order by ID'
EXEC(@SQL)
END