如何将linq存储过程的结果转换为标量标签

时间:2012-10-25 09:18:13

标签: asp.net linq

我创建了一个aspx页面,我将名称传递给一个文本框,该文本框必须显示一条消息,指出数据库中存在user。为此,我拿了一个linq并在其中写了一个存储过程(Select username from logintest where username=@name)。

我希望将存储过程的输出转换为标签。

任何人都可以帮我解决这个问题吗?

提前致谢

2 个答案:

答案 0 :(得分:1)

我想你会想要:

lblUsername.Text = (Select username from logintest where username=@name).FirstOrDefault().ToString();

请参阅:http://msdn.microsoft.com/en-us/library/bb340482.aspx

并且:Linq FirstOrDefault

更多信息

答案 1 :(得分:0)

尝试使用Any。 代码示例:

logintestDataContext dct = new logintestDataContext();
string userName = "john";

var logintest = (from lt in dct.logintest 
                  where lt.username.Contains(userName)
                  select lt
                 );

lblUserExist.Text = logintest.Any().ToString();

让我们解释一下代码:

在logintestDataContext中是表logintest

logintestDataContext dct = new logintestDataContext();

使用Linq,var logintest从表logintest填充,其中username就像字符串userName(在本例中为john)

string userName = "john";
var logintest = (from lt in dct.logintest 
                  where lt.username.Contains(userName)
                  select lt
                 );

如果logintest中有结果,则标签文本变为true。如果没有结果标签文本变为假。

lblUserExist.Text = logintest.Any().ToString();