se non metti dati vorrà dire che hai inserito un bel pò di record con nome e cognome a stringa vuota... a meno che tu non metta un contraint unique l'inserimento va a buon fine anche
con cognome = '' e nome = ''
se metti unique quanto meno ne inserirai solo uno...

cmq ti consiglio di usare System.Text.Stringbuilder piuttosto che concatenare
la stringa come hai fatto nell'esempio