2015-06-09 125 views
-1

我想用数据库中的现有用户ID和密码登录。LINQ - 登录数据库

当我在C#中使用SQL语句,我用这个代码

string query = "SELECT * FROM MsUser WHERE Username='"+textBoxUsername.Text+"' and Password='"+textBoxPass.Text+"'"; 
DataTable dt = con.AdapterQuery(query); 
if (dt.Rows.Count>0) 
{ 
    MessageBox.Show("Success loging"); 
} 
else 
    MessageBox.Show("Failed"); 

但我想使用LINQ,使用LINQ语句时,什么是代码?

+0

LINQ究竟是什么? LINQ不是执行你的select查询并获得行数的魔法。 –

+0

_“当我在C#中使用SQL语句时,我使用这个代码”__你不应该使用该代码,因为它对sql注入攻击是开放的。而是始终参数化您的查询。 –

回答

0

您只需阅读给定用户名和密码的用户数据。在LINQ中,你可以用下面的代码替换它:

var user = Context.Users.SingleOrDefault(u => u.Username == "userName" && u.Password == "password"); 

if(user != null) 
{ 
    MessageBox.Show("Success loging"); 
} 
else 
{ 
    MessageBox.Show("Failed"); 
} 
+0

是var user = Context.Users.SingleOrDefault()等于datatable与代码SELECT * FROM USERS? –

+0

它等于SELECT TOP 1 * FROM USERS? – Krzysztof

+0

对不起,我仍然对LINQ中的DataTable感到困惑,同时我仍然是编程中的新手。你能否给LINQ中DataTable的另一个例子,如DataTable with SQL Statement(DataTable dt = con.AdapterQuery(SELECT * FROM MsUser ))????谢谢 –