2014-12-13 63 views
1

有些奇怪的事情正在發生。我有一個帶有2個標籤和2個文本框1個按鈕的表單。在按鈕操作方法我從文本框的值,並將它們傳遞到LINQ查詢,這樣即使該值存在於數據庫中,也會返回null WinForm實體框架5

private void button1_Click(object sender, EventArgs e) 
    { 
     string Username = textBoxUsername.ToString(); 
     string Password = textBoxPassword.ToString(); 
     User admin = new User(); 
     admin = db.Users.FirstOrDefault(u => u.Username == Username && u.Pass==Password); 
     if (admin != null) 
      MessageBox.Show("Succesfully"); 
     else 
      MessageBox.Show("Fail"); 
    } 

管理不斷返回null連值不數據庫中存在。 但如果我更改爲這個 admin = db.Users.FirstOrDefault(u => u.Username == "Admin" Pass=="12345");它返回該對象,因爲它應該這樣做。 你能告訴我在我的代碼中有什麼問題嗎?解決方案是什麼。非常感謝您 (對不起,如果你發現這個愚蠢的:()

回答

1

此行

string Username = textBoxUsername.ToString(); 

返回值System.Windows.Forms.TextBox, Text:,而不是文字輸入的用戶名

你需要使用屬性文本

string Username = textBoxUsername.Text; 

相同的密碼字段。

通常,如果從類的實例中使用ToString(),則返回值是該類的完全限定名稱,除非該類重寫ToString方法返回使用類實例數據定製的某些內容。 (一個例子是用於數字和日期格式的ToString(some_type_of_mask)的衆多替代)

+1

非常感謝您的幫助先生 – 2014-12-13 15:16:17

相關問題