if else语句查询,Validator

时间:2013-01-28 13:19:58

标签: c# validation

我有一个插入客户端表单,允许我的管理员将客户端插入数据库表。

我的客户端表包含以下列: 1)c_id 2)c_name 3)c_address 4)c_contactinfo 5)c_refno 6)c_profileinfo 7)staff_id

我有另一张名为staff表的表。 在staff表中,数据库包含以下列: 1)u_id 2)用户名 3)u_password 4)角色

*注意,员工ID和u_id是一回事。

我要做的是,为我的textBox_staffid.Text创建某种验证,以便它只允许数据库中存在的员工ID号。 例如,如果员工ID仅为5,则用户不能输入6作为员工ID。

请帮忙!

2 个答案:

答案 0 :(得分:1)

为什么不使用ComboBox,因此您不需要验证?

  1. 检索List<Staff>
  2. ComboBox ItemsSource绑定到您检索到的List<Staff>
  3. 绑定DisplayMemberPathSelectedValuePathSelectedValue
  4. 这样您就只能选择现有的员工ID。

    令人兴奋的是,您可以将其Dictionary<T1, T2> StaffMembers属性绑定到ComboBox ItemsSource

    对于WPF:

    XAML:

     <ComboBox ItemsSource={Binding StaffMembers} SelectedValuePath="Key" DisplayMemberPath="Value" />
    

    代码隐藏:

     List<Staff> staffList = dbContext.Staff.ToList().Distinct();
     foreach(Staff s in staffList) {
          StaffMembers.Add(s.u_id, s.u.username);
     }
    

答案 1 :(得分:0)

您可以尝试附加到文本框的Leave事件,并在那里查询数据库(或您所创建的表的缓存),以查看文本框中的值是否在staff表中。如果表中没有,您可以重新关注staffid文本框,以便他们输入有效的ID。