asp.net - Bug in my code or Am not doing it right -
asp.net - Bug in my code or Am not doing it right -
i have been struggling usecase 2 days now.all need read patient's visitnumber patient visit table , populate dropdownlist given patient number.after much research these 2 links address same issue.i did described here sample on stackover site still mine not working , no error displayed. another sample described here! here codes:html
<li> <asp:label runat="server" id ="lblvisits">visit number</asp:label> <asp:dropdownlist id="dropdownlist2" runat="server" height="16px" width="174px" style="margin-left: 46px"> <asp:listitem text=""></asp:listitem> <asp:listitem value=""></asp:listitem> </asp:dropdownlist> </li>
codebehind:
protected void btn_search_click(object sender, eventargs e) { string connect = system.configuration.configurationmanager.connectionstrings["db_connection"].tostring(); string num = txtpatientnumber.tostring(); sqlconnection con = new sqlconnection(connect); string statement = "select visit_number visit " + "where patient_number=@patient_number"; sqlcommand cmd = new sqlcommand(statement, con); cmd.parameters.addwithvalue("@patient_number", num); sqldatareader reader; seek { con.open(); reader = cmd.executereader(); while (reader.read()) { dropdownlist2.datasource = reader; dropdownlist2.datatextfield = reader["visit_number"].tostring(); dropdownlist2.datavaluefield = reader["visit_number"].tostring(); dropdownlist2.databind(); } reader.close(); } grab (sqlexception excep) { //response.write("<script language=javascript>alert('patient number not found.');</script>"); errormessage.text = "error occurred" + excep.message.tostring(); } { con.close(); } }
problem lies here:
while (reader.read()) { dropdownlist2.datasource = reader; dropdownlist2.datatextfield = reader["visit_number"].tostring(); dropdownlist2.datavaluefield = reader["visit_number"].tostring(); dropdownlist2.databind(); }
your using .datatextfield
, .datavaluefield
wrong. how should like:
dropdownlist2.datatextfield = "visit_number"; dropdownlist2.datavaluefield ="visit_number";
also should not rebind dropdownlist every row returned db. remove while (reader.read())
.
final code:
dropdownlist2.datasource = reader; dropdownlist2.datatextfield = "visit_number"; dropdownlist2.datavaluefield = "visit_number"; dropdownlist2.databind();
asp.net webforms
Comments
Post a Comment