如何在文本框中设置所有数据

时间:2012-01-11 16:05:26

标签: c# sql linq

首先是搜索框表单和视图表单。在搜索框中传递id的值之后,它应该在textchange方法发生后返回与该人的id匹配的所有值。但它不会在文本框中显示单个值。这是我的代码

 public void first_tab_search(string key)
        {
            key = txtSearch.Text;
            var first = from a in dbcon.personal_informations where a.last_name == key select a;
            foreach (var setThem in first)
            {
                txtsurname.Text = setThem.last_name;
                txtfirstname.Text = setThem.first_name;
                txtmiddlename.Text = setThem.middle_name;
                txtID.Text = setThem.userid;
                txtweight.Text = setThem.weight;
                txttin.Text = setThem.tin;
                txtsss.Text = setThem.sss;
                txtaeno.Text = setThem.agency_employee_no;
                txtbloodtype.Text = setThem.blood_type;
                txtcitizenship.Text = setThem.citizenship;
                txtcivilstatus.Text = setThem.civil_status;
                txtcpno.Text = setThem.cell_no;
                txtdob.Text = setThem.datetime_of_birth.ToString();
                txtemail.Text = setThem.email_address;
                txtgender.Text = setThem.sex;
                txtgsis.Text = setThem.gsis_id;
                txtheight.Text = setThem.height;
                txtnameext.Text = setThem.name_ext;
                txtpagibig.Text = setThem.pagibig_id;
                txtpermaaddr.Text = setThem.permanent_address;
                txtpermatelno.Text = setThem.permanent_telno;
                txtpermazip.Text = setThem.permanent_zipcode;
                txtphilhealth.Text = setThem.philhealth;
                txtpob.Text = setThem.place_of_birth;
                txtresidentialaddr.Text = setThem.residential_address;
                txtresitelno.Text = setThem.residential_telno;
                txtresizip.Text = setThem.residential_zipcode;
                txtweight.Text = setThem.weight;
            }
        }

1 个答案:

答案 0 :(得分:2)

你在这里遇到了很多问题。

  1. 您将密钥传递给方法,然后立即使用搜索框的内容覆盖该密钥。

  2. 您的搜索可能返回多个结果,因此您的代码循环遍历每个结果并使用最后返回的行覆盖输出值。在循环中使用+ =而不是+,即

    txtsurname.Text + = setThem.last_name;

  3. 您的代码目前区分大小写,这可能是理想的方法,但可能不是。