The TextBox.Text property is a string, and will never return a null value - even for an "empty" TextBox - instead it returns an empty string: either "" or string.Empty (they are the same thing and can be used interchangeably).
So instead of testing for null, check for an empty TextBox. The best way to do that is like this:
if (!string.IsNullOrWhiteSpace(tbBar1price.Text))
{
...
As that allows the user to enter spaces without accepting those, either.
It's probably a good idea to check the values when the user enters them though: if he enters "hello" as the price, you don't want that getting into your database as it'll only mess up later processing and you can't easily correct it once entered.
Look at the various TryParse methods to convert the user input to a number:
Int32.TryParse Method (System) | Microsoft Docs[
^]
Double.TryParse Method (System) | Microsoft Docs[
^]
for example.