我有1个WinForm和2个表:
Form1包含TextBox1
员工包含ID,LastName,FirstName,BirthDate。
我需要在TextBox1中输入LastName和FirtName来检索相关的“TaskName”(如果存在), 然后使检索到的数据可以从项目中的任何位置使用
我需要知道在哪里放置TaskName变量? 以及如何修改下一个代码以达到这个目的?
using (LINQtoEntitiesEntities MyEntities = new LINQtoEntitiesEntities())
{
ObjectQuery<Employee> Employee = MyEntities.Employee;
var query = (from p in Employee
where p.FirstName == TextBox1.Text.Trim()
select p.LasttName, p.FirstName);
}
答案 0 :(得分:0)
如果正在输入LastName和FirstName(按此顺序)到TextBox1,那么假设它们用空格或空格分隔,您可以按如下方式将它们拆分:
string[] items = TextBox1.Text.Trim().Split(new char[]{' '}, StringSplitOptions.RemoveEmptyEntries);
string lastName = items[0];
string firstName = items[1];
Split方法的第二个参数处理可能有多个空格分隔姓氏和名字。
如果ID列用于链接Employee和Tasks表,那么您应该能够检索相关的TaskName并将其放在全局变量中,如下所示:
//如果您还没有一个
,则创建一个包含全局变量的类static class Global
{
public static string Task {get; set;}
}
//在某些其他类
中的某个方法中//插入上面的代码以获取姓氏和名字
using (LINQtoEntitiesEntities MyEntities = new LINQtoEntitiesEntities())
{
ObjectQuery<Employee> Employee = MyEntities.Employee;
ObjectQuery<Tasks> Tasks = MyEntities.Tasks;
Global.Task = (from e in Employee where e.LastName == lastName && e.FirstName == firstName join t in Tasks on e.ID equals t.ID select t.TaskName).FirstOrDefault();
}
//从其他地方检索全局变量:
if (Global.Task != null)
{
// do something with Global.Task
}