Pregunta

        private void FillInvoiceList()
    {
        DataTable distinctInvoice = new DataTable();
        using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["APOS_CONNECTION_STRING"].ConnectionString))
        {
            conn.Open();
            SqlCommand cmd = new SqlCommand("Select distinct svc_tag from data where rep_name = @value");
            cmd.Parameters.AddWithValue("@value", this.DropDownList1.SelectedItem.Text);
            SqlDataAdapter sqlDataAdapter = new SqlDataAdapter(cmd.CommandText, conn.ConnectionString);
            sqlDataAdapter.Fill(distinctInvoice);
        }
        foreach (DataRow row in distinctInvoice.Rows)
        {
            this.ListBox1.Items.Add(row["svc_tag_dim_invoice_num"].ToString());
        }
    }

Tengo este código y me sale este error cuando llamo el Relleno (DistinctInvoice)

Debe declarar la "@value" escalar la variable

Mi FillInvoiceList) Método que se está llamando (a partir de un evento SelectedIndexChanged del DropDownList1. El valor de DropDownList1.SelectedItem.Text parece ser correcta.

Gracias por cualquier ayuda.

¿Fue útil?

Solución

El error está aquí:

SqlDataAdapter sqlDataAdapter = new SqlDataAdapter(cmd.CommandText, conn.ConnectionString);

Usted está estableciendo el SQLDataAdapter utilizar el CommandText original, no el propio SQLCommand. Cambiarlo a:

SqlDataAdapter sqlDataAdapter = new SqlDataAdapter(cmd, conn.ConnectionString);
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top