La consulta parametrizada espera el parámetro que no se proporcionó

Tengo un problema con mi código:

Private Sub TextBox2_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox2.TextChanged
    list.Items.Clear()

    cmd.CommandText = "SELECT * FROM borrow where (Department LIKE '%" & TextBox2.Text & "%')"
    cmd.Connection = con
    cmd.CommandType = CommandType.Text
    con.Open()


    rd = cmd.ExecuteReader()
    If rd.HasRows = True Then
        While rd.Read()

            Dim listview As New ListViewItem

            listview.Text = rd("ID").ToString
            listview.SubItems.Add(rd("Department").ToString)
            listview.SubItems.Add(rd("Purpose").ToString)
            listview.SubItems.Add(rd("Items_Details").ToString)
            listview.SubItems.Add(rd("Requested_by").ToString)
            listview.SubItems.Add(rd("Approved_by").ToString)
            listview.SubItems.Add(rd("Date").ToString)
            listview.SubItems.Add(rd("Status").ToString)
            listview.SubItems.Add(rd("Date_Returned").ToString)

            list.Items.Add(listview)

        End While
    End If
    con.Close()

Una vez que escribí la cadena en el cuadro de texto para buscar un elemento, recibí este error:

La consulta parametrizada '(@ Parámetro1 nvarchar (4000)) SELECCIONAR * DE pedir prestado donde (Departamento' espera el parámetro '@ Parámetro1', que no se suministró.

¿Alguien puede ayudarme?

Respuestas a la pregunta(6)

Su respuesta a la pregunta