2015-06-09 178 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 ))????謝謝 –