【发布时间】:2013-06-20 16:28:50
【问题描述】:
我要做的是从数据库中检索患者的详细信息,然后根据在文本框中输入的值,它将更新患者的详细信息,但如果文本框为空,我将现有详细信息分配给文本框我认为这是相当愚蠢的。
您建议我如何改进以下代码以使其更高效或减少重复性?
代码:
client = new ServiceReference1.Service1Client();
pat = client.GetPatientbyID(txtUpdatePatientID.Text);
grdView.DataSource = pat;
grdView.DataBind();
if (txtUpdateForename.Text == "")
txtUpdateForename.Text = pat[0].Forename;
if (txtUpdateSurname.Text == "")
txtUpdateSurname.Text = pat[0].Surname;
if (txtUpdateStreet.Text == "")
txtUpdateStreet.Text = pat[0].Street;
if (txtUpdateTown.Text == "")
txtUpdateTown.Text = pat[0].Town;
if (txtUpdateCity.Text == "")
txtUpdateCity.Text = pat[0].City;
if (txtUpdateDOB.Text == "")
txtUpdateDOB.Text = pat[0].DOB.ToString();
if (txtUpdateHouseNumber.Text == "")
txtUpdateHouseNumber.Text = pat[0].House_number;
if (txtUpdateMobile.Text == "")
txtUpdateMobile.Text = pat[0].Mobile;
client.UpdateAllDetails(txtUpdatePatientID.Text, txtUpdateForename.Text,
txtUpdateSurname.Text, txtUpdateStreet.Text, txtUpdateTown.Text,
txtUpdateCity.Text, Convert.ToDateTime(txtUpdateDOB.Text),
txtUpdateHouseNumber.Text, txtUpdateMobile.Text);
client.Close();
GetPatients(txtUpdatePatientID);
【问题讨论】:
-
您可以采取一些措施来减少此代码的重复性和更易于维护,但如果您的意思是“高效”,即它会运行得更快,那么您将无法做到大大加快了这个特定的代码 sn-p。
-
您有什么建议可以减少代码的重复性?
-
类似于 Richard 建议的内容,外加将
pat[0]提取到变量中。
标签: c# database performance wcf