سؤال

        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());
        }
    }

لدي هذا الرمز وأحصل على هذا الخطأ عند استدعاء التعبئة (DistictInVoice)

يجب أن تعلن متغير العددية "Value"

يتم استدعاء طريقة FillinVoicelist الخاصة بي () من حدث محدد يبدو أن قيمة DropDownList1.SelectedItem.Text صحيحة.

شكرا على اي مساعدة.

هل كانت مفيدة؟

المحلول

الخطأ هنا:

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

أنت تقوم بإعداد SQLDataAdapter لاستخدام CommandText الأصلي، وليس SQLCommand نفسه. تغييره إلى:

SqlDataAdapter sqlDataAdapter = new SqlDataAdapter(cmd, conn.ConnectionString);
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top