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

本文关键字:分配 数据库 文本 字符串 | 更新日期: 2023-09-27 18:14:52

我的问题是我试图写一个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);

这是我失败的地方,因为我的表达式阻止"不能将字符串转换为bool"。说实话,我不确定这个表达是否正确。

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

应该是:

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

您需要使用扩展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;

你甚至不需要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;

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

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