使用SqldataReader从数据库检索数据到标签

时间:2015-07-20 06:55:32

标签: asp.net

我在asp.net中编写代码。我需要将数据库中的问题打印到标签和选项,从同一个数据库表到Radiobutton。我在下面的代码中使用过sqldataReader,但问题是它只打印一个问题,数据库不能在下一个标签中打印下一个问题。

            connection.Open();
            SqlCommand cmd = new SqlCommand("Select * from Questable1 ", connection);
            SqlDataReader reader = cmd.ExecuteReader();
            reader.Read();
            Label1.Text = reader["Ques"].ToString();
            RadioButton1.Text = reader["Option1"].ToString();
            RadioButton2.Text = reader["Option2"].ToString();
            RadioButton3.Text = reader["Option3"].ToString();
            RadioButton4.Text = reader["Option4"].ToString();

            Label2.Text = reader["Ques"].ToString();
            RadioButton5.Text = reader["Option1"].ToString();
            RadioButton6.Text = reader["Option2"].ToString();
            RadioButton7.Text = reader["Option3"].ToString();
            RadioButton8.Text = reader["Option4"].ToString();

            connection.Close();

        }
    }
}

}

2 个答案:

答案 0 :(得分:0)

Datareader将保留结果集中的所有行。

你可以按照以下方式迭代它......

connection.Open();
            SqlCommand cmd = new SqlCommand("Select * from Questable1 ", connection);
            SqlDataReader reader = cmd.ExecuteReader();
            while(reader.Read())
{
//write your logic bind questions
           // Label1.Text = reader["Ques"].ToString();
}

但正如@MukeshPanwar所说,你需要更清楚。 根据我的理解,看起来您的问题和答案都在同一个结果表中,因此问题应该重复。在绑定问题和答案之前,你已经解决了。

答案 1 :(得分:0)

使用listview检索具有您自己的布局的数据,甚至是radiobutton。然后在aspx中设置radiobutton的文本:

<%# Eval("Field_name_of_your_database") %>

然后绑定数据,与gridview或detailview相同。只返回数据集,然后是数据源,然后是数据绑定。