I do not know why you are trying to compare ID (which is not declared or instantiated) but I assume that you want to do an INSERT if the record with ID = @ID does not exist and an UPDATE if it does exist.
Below is how I would do it. Starting with Microsoft SQL Server 2008, there is a MERGE statement that could be used to cause the same result.
ALTER PROC [dbo].[SqldataTable]
@id real,
@prod nvarchar(50),
@category varchar(50),
@price real,
@instock bit,
@count real,
@DateUpdate datetime,
@description nvarchar(max)
as
if (select COUNT(*) from [DBT] where ID=@ID) > 0
begin
UPDATE [DBT]
set
ProductName=@prod,
Category=@category,
Price=@price,
Instock=@instock,
[Count]=@count,
DateUpdate=@DateUpdate,
[Description]=@description
where ID=@id
end
else
begin
INSERT INTO [DBT] (ID,ProductName,Category,Price,Instock,[Count],DateUpdate,[Description])
VALUES (@id,@prod,@category,@price,@instock,@count,@DateUpdate,@description)
end