Con ese código nunca insertarás valores nulos en la base de datos, ya que para ello habría que ejecutar un "Insert into plato values (NULL, ...)" (nótese que la palabra clave NULL va sin comillas), y el código que has escrito
nunca puede generar esa sentencia.
Si a lo que te refieres es a que no quieres grabar cadenas vacías, lo más sencillo sería comprobar desde tu código cliente que los textboxes no estén vacíos antes de llamar a ese código que has escrito
para hacer la grabación. Recuerda que en base de datos un valor nulo es distinto de una cadena vacía.
Dicho lo anterior, ten presente que esa forma de insertar datos es peligrosa desde el punto de vista de la seguridad, ya que permite realizar inyecciones de SQL. Imagínate que el usuario teclea un fragmento de SQL en el textbox. Se concatenaría
con tu sentencia y se enviaría al servidor, con lo que el usuario conseguiría lanzar sentencias arbitrarias al servidor. Por ejemplo, suponte que en el txtNombre teclean lo siguiente: "x','y');DROP TABLE plato--", y piensa en
lo que ocurriría cuando pulsen el botón Grabar. Incluso aunque el usuario no inyecte maliciosamente código SQL, se pueden producir errores por causa del texto tecleado. Por ejemplo, piensa que pasaría si se introdujera en el txtNombre
el nombre O'Donell.
Todo lo anterior se evita parametrizando la sentencia, en lugar de concatenar en ella los datos tecleados por el usuario. No te pongo el ejemplo porque hay abundantísima literatura al respecto, pero si no encuentras cómo hacerlo, pregunta aquí
y seguro que alguien proporciona un enlace.