No. It isn't at all safe! What if the user typed:
%';DROP TABLES companydetails;--
Try a parametrized query instead:
select * from companydetails where company LIKE '%' + @DATA + '%' or category1 LIKE '%' + @DATA + '%' or category2 LIKE '%' + @DATA + '%'
and then provide the @DATA parameter via the SqlCommand.Parameters.AddWithValue method.