[英]Getting a value from database column using Linq C#
我正在尝试从SQL Server数据库检索字符串值,我正在从事C#项目,并且正在使用LINQ to SQL。 这是我的代码段
using (AlHayatEntities entity = new AlHayatEntities())
{
var query = from o in entity.users
where o.userName == "" + txtUsername.Text && o.password == "" + txtPassword.Text
select o.role;
MessageBox.Show(query + "");
}
这就是桌子
id | userName | password | role
1 shareef 123 admin
我希望该消息打印出“ admin”,但不是。
在这种情况下,集合的结果是一个IQueryable,因为您只有一个列,所以它将是一个IQueryable。
您可以像这样修改代码。
using (AlHayatEntities entity = new AlHayatEntities())
{
var result = (from o in entity.users
where o.userName == txtUsername.Text
&& o.password == txtPassword.Text
select o.role).FirstOrDefault();
MessageBox.Show(result);
}
我还删除了示例中的各种“”项目,因为解决方案不需要它们。
另一种选择是遵循查询格式,然后在显示查询时调用FirstOrDefault。 像下面
using (AlHayatEntities entity = new AlHayatEntities())
{
var query = from o in entity.users
where o.userName == txtUsername.Text
&& o.password == txtPassword.Text
select o.role;
MessageBox.Show(query.FirstOrDefault());
}
您也可以使用.First()
,但是该调用要求结果中包含一个条目。 如果有没有记录的机会,那么您就不想使用它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.