It
might be possible to use the code as-is but with a slight addition. Try replaceing in the code:
UpdateCommand="UPDATE [orderlines] SET [appname] = @appname, [cost] = @cost, [Quantity] = @Quantity WHERE
With this:
UpdateCommand="DECLARE @appname [nvarchar](54);UPDATE [orderlines] SET [appname] = @appname, [cost] = @cost, [Quantity] = @Quantity WHERE
The error received wouldn't
be if the TSQL-end of this mix was more of a call to a stored procedure. In which case, this DECLARE would certainly be easier spotted in that event.