如何从数据库向文本框分配值(字符串)

时间:2016-10-26 06:12:46

标签: c# wpf lambda

我的问题是我试着写一个lambda表达式!问题是我不确定我做得对。

var result = dataset.student.Where(n => n.ID == num);
**num is a value recieved from id text box

var结果存储我的对象从数据库(这是一个人)拉出,所以现在我需要分配文本框" FirstNameTxtBox"结果FirstName

this.FirstNameTextBox = result.Where(n=>n.FirstName);

这是我失败的地方,因为我的表达不会出现"无法将String转换为bool。说实话,不确定这是不是正确的表达方式。 希望这很清楚。

4 个答案:

答案 0 :(得分:2)

应该是:

this.FirstNameTextBox.Text = result.Select(n => n.FirstName).FirstOrDefault();

答案 1 :(得分:0)

您需要使用扩展名First或FirstOrDefault获取查询结果。

阅读更多内容:https://msdn.microsoft.com/en-us/library/bb397687.aspx

this.FirstNameTextBox.Text = result.Where(n=>n.FirstName).First();

this.FirstNameTextBox.Text = dataset.student.FirstOrDefault(n => n.ID == num).FirstName;

答案 2 :(得分:0)

你甚至不需要lambda。简单得到结果的第一项。

this.FirstNameTextBox.Text = result.First().FirstName;
// or
this.FirstNameTextBox.Text = result[0].FirstName;

或者从头开始简化

this.FirstNameTextBox.Text = dataset.student.First(n => n.ID == num).FirstName;

答案 3 :(得分:0)

我总是喜欢使用FirstOrDefault()并检查它是否为null:

var result = dataset.student.Where(n => n.ID == num).FirstOrDefault();
if(result != null)
{
    this.FirstNameTextBox.Text = result.FirstName;
}