chander_rani Ответов: 3

как привязать значение столбца базы данных к radiobuttonlist


пожалуйста, кто-нибудь скажет, что как привязать все значение столбца к radiobuttonlist из базы данных, как у меня есть 4 варианта в 4 столбцах таблицы базы данных. я хочу прочитать столбец option в radiobuttonlist для выбора. у меня есть код, но есть ошибка, он читает только 1-е значение столбца в список переключателей, но мне нужно получить доступ ко всем значениям столбцов, таким как столбец ABCDE ro radiobuttonlist. пожалуйста, дайте мне решение.....


SqlCommand cmd = new SqlCommand();
            cmd.Connection = con;
            //cmd.CommandText = "select id,Questions,A,B,C,D from Question where Id='" + t + "'";
            cmd.CommandText = "select id,Questions,A,B,C,D from Question";
            //cmd.Parameters.Add("@Id", SqlDbType.Float).Value = t;

            string uid = "";
            string Questions = "";
            string A = "";
            string B = "";
            string C = "";
            string D = "";

            cmd.Connection.Open();
            SqlDataReader rdr = cmd.ExecuteReader();

            if (rdr.HasRows)
            {
                //PanUpdate.Visible = true;
                //PanDisplay.Visible = false;

                while (rdr.Read())
                {
                    uid = rdr["Id"].ToString();
                    Questions = rdr["Questions"].ToString();
                    A = rdr["A"].ToString();
                    B = rdr["B"].ToString();
                    C = rdr["C"].ToString();
                    D = rdr["D"].ToString();
                }
                rdr.Close();
                rdr = cmd.ExecuteReader();

                //rdr.Close();
                //RadioButton1.DataBind = A;

                //RadioButton1.DataTextField = "Role_Name";
                //RadioButton1.DataSource = "Role_Name";
                //RadioButton3.DataTextField = "Role_Name";
                //RadioButton4.DataTextField = "Role_Name";
                //RadioButton5.DataTextField = "Role_Name";

                RadioButtonList1.DataSource = A;
                //RadioButtonList1.DataTextField = A;
                //RadioButtonList1.DataValueField = A;
                RadioButtonList1.DataBind();
                //LblUserID.Text = uid;
                //TxtPwdChange.Text = pwd;
                //LbxRole.Items.FindByText(rol).Selected = true;

                cmd.Connection.Close();



пожалуйста, кто-нибудь скажите........

3 Ответов

Рейтинг:
0
Рейтинг:
0

pradiprenushe

Попробуйте это (проверьте значение для пустого, так что это будет полезно, если у вас есть меньше вариантов, например, Да/нет типа вопроса, имеющего только два варианта)

ListItem li = new ListItem();  
li.Text = A;  
li.Value = A;  
RadioButtonList1.Items.Add(li);  


или

DataTable table = new DataTable();
while (rdr.Read())
{   

table.Columns.Add("Option", typeof(string));
if(A!="")
table.Rows.Add(A);
if(B!="")
table.Rows.Add(B);
if(C!="")
table.Rows.Add(C);
if(D!="")
table.Rows.Add(D);
}
RadioButtonList1.DataTextField = "Option"
RadioButtonList1.DataValueField = "Option"
RadioButtonList1.DataSource = table;
RadioButtonList1.DataBind();


Рейтинг:
0

Amarkant semwal

Чувак попробуй этот код

RadioButtonList RadioButtonList1 = (RadioButtonList)e.Item.FindControl("RadioButtonList1");
             HiddenField hdn = (HiddenField)e.Item.FindControl("hf1");
             SqlDataAdapter ds = new SqlDataAdapter("select * from Question where QuestionId='" + hdn.Value + "'", con);
             DataTable ds1 = new DataTable();
             ds.Fill(ds1);
             RadioButtonList1.Items.Clear();
             RadioButtonList1.Items.Add(ds1.Rows[0]["OptionA"].ToString());
             RadioButtonList1.Items.Add(ds1.Rows[0]["OptionB"].ToString());
             RadioButtonList1.Items.Add(ds1.Rows[0]["OptionC"].ToString());
             RadioButtonList1.Items.Add(ds1.Rows[0]["OptionD"].ToString());
             RadioButtonList1.DataBind();


CHill60

"Чувак" - был задан вопрос и ответил: более 5 лет назад. Вы не добавили ничего нового в поток, ваш код уязвим для атак SQL-инъекций и использования select * это очень плохая практика. Придерживайтесь ответов на новые вопросы, где ОП все еще нуждается в помощи