我想要做的是從數據庫中檢索患者的詳細信息,然後根據在文本框中輸入的值,它將更新患者的詳細信息,但如果文本框爲空,則將現有的詳細信息分配給文本框我覺得很愚蠢。有效更新表格的詳細信息?
你會建議我做些什麼來改進下面的代碼,使其更有效或更少重複?
代碼:
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);
有些事情可以使代碼減少重複性和維護性,但如果您的意思是「高效」,它會運行得更快,您無法做很多工作來加速實現特定的代碼片段。 – StriplingWarrior
您可以建議如何減少代碼的重複性? – user2495628
類似於Richard的建議,並將'pat [0]'提取到變量中。 – StriplingWarrior