2016-06-17 12 views
0

In der Benutzeroberfläche habe ich eine Radioknopf-Liste, die (Stufe Eins, Stufe Zwei, Stufe Drei) enthält. Auf der anderen Seite habe ich Schüler-Tabelle (ID, Name, Ebene, DOB, ....), die das Niveau des Schülers als varchar speichern. Beim Laden der Seite, ich möchte die RadioButtonList basierend auf dem Wert aus der Datenbank gelesen werden. der folgende Code läuft, aber es überprüft nicht die suitble Radio-Taste, die es aus der DB lesen.Radioknopf in RadioButtonList überprüfen, basierend auf dem Textwert, der aus der Datenbank gelesen wurde

using (MySqlConnection SqlCon = new MySqlConnection(connStr)) 
       { 
        MySqlDataReader myReader = null; 
        using (MySqlCommand cmd = new MySqlCommand("SELECT S_Id, level FROM student where S_Id='" + 111 + "'")) 
        { 
         cmd.CommandType = CommandType.Text; 
         cmd.Connection = SqlCon; 
         SqlCon.Open(); 
         myReader = cmd.ExecuteReader(); 
         if (RadioButtonList1.Items.FindByValue(myReader.ToString()) != null) 
         { 
          // RadioButtonList1.Items.FindByValue(myReader.ToString()).Selected = true; 
          RadioButtonList1.SelectedValue = myReader.ToString(); 
         } 

         SqlCon.Close(); 
        } 
       } 
+0

Ist Ihr Code, den Sie aufrufen, um die Daten aus der Datenbank zu bekommen, im Postback-Check? – riteshmeher

+0

Ja, ich habe diesen Code eingefügt: if (! This.IsPostBack) {... Mein Code ...} – John

+0

radioButtonList1.Items.FindByText ("Ihr Text"). Selected = true; oder Sie können auch mit Items Index RadioButtonList.Items [1] .Selected = true; –

Antwort

0

Sie haben durch das Datareader-Objekt zu durchqueren ihre Werte zu erhalten. Versuchen Sie etwas wie folgt:

using (MySqlConnection SqlCon = new MySqlConnection(connStr)) 
{ 
    MySqlDataReader myReader = null; 
    using (MySqlCommand cmd = new MySqlCommand("SELECT S_Id, level FROM student where S_Id='" + 111 + "'")) 
{ 
    cmd.CommandType = CommandType.Text; 
    cmd.Connection = SqlCon; 
    SqlCon.Open(); 
    myReader = cmd.ExecuteReader(); 
    while (myReader.Read()) 
    { 
    if (RadioButtonList1.Items.FindByValue(myReader["level"].ToString()) != null) 
    {       
    RadioButtonList1.SelectedValue = myReader["level"].ToString(); 
    }    
    } 
    sqlCon.Close(); 
} 
}