Here is the updated version that is not fully what you want, but the for loop has the logic to create radiobuttonlists dynamically where "Form1" is the name of your form. If you need more help, ask.
SqlCommand cmd1 = new SqlCommand("select ans1,ans2,ans3,ans4,cans from questions where tname='Prelim' and questionno='" + i + "'", con);
SqlDataAdapter daa = new SqlDataAdapter(cmd1);
DataSet dss = new DataSet();
daa.Fill(dss, "questions");
DataRow DRR = dss.Tables[0].Rows[0];
for (int i = 0; i <= dss.Tables[0].Rows.Count; i++)
{
RadioButtionList rbl = new RadioButtonList();
rbl.ID = "rbl" + i;
if (i == 1)
{
rbl1.Items.Clear();
rbl1.Items.Add(DRR[0].ToString());
rbl1.Items.Add(DRR[1].ToString());
rbl1.Items.Add(DRR[2].ToString());
rbl1.Items.Add(DRR[3].ToString());
Form1.Controls.Add(rbl1);
}
else if (i == 2)
{
rbl2.Items.Clear();
rbl2.Items.Add(DRR[0].ToString());
rbl2.Items.Add(DRR[1].ToString());
rbl2.Items.Add(DRR[2].ToString());
rbl2.Items.Add(DRR[3].ToString());
Form1.Controls.Add(rbl2);
}