代码之家  ›  专栏  ›  技术社区  ›  jim

SQL错误必须声明标量变量

  •  1
  • jim  · 技术社区  · 16 年前
            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());
            }
        }
    

    我有这个代码,当我调用Fill(distinctionvoice)时会出现这个错误

    必须声明标量变量“@value”

    正在从DropDownList 1中的SelectedIndexChanged事件调用My FillInvoiceList()方法。DropDownList1.SelectedItem.Text的值似乎正确。

    谢谢你的帮助。

    1 回复  |  直到 16 年前
        1
  •  10
  •   MartW    16 年前

    错误在这里:

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

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