param7[1].Value = tbLastName.Text.Length > 0 ? tbLastName.Text : DBNull.Value;
Perché è impossibile e qualsiasi suggerimento che altro provare? Se/else per 20 parametri non è solo il modo.Il tipo di espressione condizionale non può essere determinato perché non esiste una conversione implicita tra "stringa" e "System.DBNull"