Jika Anda memberikan nilai nol ke parameter, Anda akan mendapatkan kesalahan ini bahkan setelah Anda menambahkan parameter. Coba periksa nilainya dan jika nol gunakan DBNull.Value
Ini akan berhasil
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
Ini akan mengonversi nilai null dari lapisan objek ke nilai DBNull yang dapat diterima oleh database.