Pokud parametru předáte hodnotu null, zobrazí se tato chyba i po přidání parametrů. Zkuste hodnotu zkontrolovat a pokud je null, použijte DBNull.Value
To bude fungovat
cmd.Parameters.Add("@Department", SqlDbType.VarChar)
If (TextBox2.Text = Nothing) Then
cmd.Parameters("@Department").Value = DBNull.Value
Else
cmd.Parameters("@Department").Value = TextBox2.Text
End If
Tím převedete hodnoty null z objektové vrstvy na hodnoty DBNull, které jsou přijatelné pro databázi.