根据下拉列表中的选定值加载文本框 [英] load textboxes according selected value from dropdownlist

查看:67
本文介绍了根据下拉列表中的选定值加载文本框的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试根据选定的值加载文本框,这给了我这个错误:在没有数据的情况下,无效的读取尝试."请帮忙

我的businessLayer中的代码

Am trying to load textboxes according selected value and its giving me this error: "Invalid attempt to read when no data is present.". Please help

Code from my businessLayer

public ClsPatient getSpecificPatient(string patientIdNumber)
       {
           using (SqlConnection conn = new SqlConnection(ConnString))
           {
               SqlCommand cmd = new SqlCommand("procGetPatientByPatientID", conn);
               cmd.CommandType = CommandType.StoredProcedure;
               cmd.Parameters.Add(new SqlParameter("@patientIDNumber", SqlDbType.NVarChar));
               cmd.Parameters["@patientIDNumber"].Value = patientIdNumber;
               ClsPatient patient;
               try
               {
                   conn.Open();
                   SqlDataReader reader = cmd.ExecuteReader(CommandBehavior.SingleRow);

                   reader.Read();
                   patient = new ClsPatient(Convert.ToString(reader["PatName"]),
                                                           Convert.ToString(reader["PatSurname"]), Convert.ToString(reader["PatAddress"]),
                                                           Convert.ToString(reader["PatTell"]), Convert.ToString(reader["PatCell"]),
                                                           Convert.ToString(reader["PatWorkTell"]), Convert.ToString(reader["PatEmail"]),
                                                           Convert.ToString(reader["PatGender"]));
                   reader.Close();
               }
               catch (SqlException)
               {
                   throw new ApplicationException("Error reading deleted record from system files. Press ok and refresh button.");
               }
               return patient;
           }
       }


下拉菜单后的代码


Code behind th dropdown

protected void ddlPatientID_SelectedIndexChanged(object sender, EventArgs e)
   {
       //systemBusinessLayer=new BusinessLayer();
       ClsPatient patient = systemBusinessLayer.getSpecificPatient((string)ddlPatientID.SelectedValue);
       txtViewPatientName.Text = patient.PatName;
       txtViewPatientSurname.Text = patient.PatSurname;
       txtViewPatientPhonenumber.Text = patient.PatTell;
       txtViewPatientCellphone.Text = patient.PatCell;
       txtViewPatientWorkPhonenumber.Text = patient.PatWorkTell;
       txtViewPatientEmail.Text = patient.PatEmail;
       string gender = patient.PatGender;

       if (gender == "Female")
       {
           radFemale.Checked = true;
            radMale.Checked=false;

       }
       else if(gender=="Male")
       {
           radMale.Checked=true;
           radFemale.Checked = false;
       }

       txtViewPatientAddress.InnerText = patient.PatAddress;

   }



代码块-OriginalGriff [/edit]



[edit]Code block - OriginalGriff[/edit]

推荐答案

我怀疑存储过程未返回任何行:请尝试检查您的Read方法的返回值:
I suspect that the stored procedure is not returning any rows: Try checking your Read method return value:
if (reader.Read())
   {
   patient = new ClsPatient(Convert.ToString(reader["PatName"]),
                                        Convert.ToString(reader["PatSurname"]), Convert.ToString(reader["PatAddress"]),
                                        Convert.ToString(reader["PatTell"]), Convert.ToString(reader["PatCell"]),
                                        Convert.ToString(reader["PatWorkTell"]), Convert.ToString(reader["PatEmail"]),
                                        Convert.ToString(reader["PatGender"]));
   }
reader.Close();


SqlDataReader的数据读取问题.
检查以下链接:
< a href ="http://social.msdn.microsoft.com/Forums/en-US/adodotnetdataproviders/thread/076fdaa2-6a17-4ce7-87bf-0d9340cfc61e/">链接</a>
Data reading problem with SqlDataReader.
Check this link below:
<a href="http://social.msdn.microsoft.com/Forums/en-US/adodotnetdataproviders/thread/076fdaa2-6a17-4ce7-87bf-0d9340cfc61e/">Link</a>


这篇关于根据下拉列表中的选定值加载文本框的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆