簡體   English   中英

如何在Visual Studio中搜索數據庫? (C#)

[英]How to search database in Visual Studio? (C#)

我正在做一個輔助項目(學生,不是家庭作業,只是出於好奇),這將是我簡單的個人密碼管理器/保險庫。 這將是一個Windows應用程序。 我希望它不僅支持一個用戶。 現在我有了登錄屏幕和其他功能,因此我努力尋找一種簡單有效的方法來檢查用戶的登錄名和密碼是否正確。 我將信息存儲在一個名為Users的簡單SQL表中(下圖)。 現在,我想獲取布爾結果,數據庫中是否為這兩個字符串(用戶名,密碼)。 我將在下面包含一些代碼和屏幕截圖。 任何幫助表示贊賞!

PS:我對mySQL(Oracle)相當熟悉,我只是想找到一個很好的方法來做到這一點而又不荒謬。 :)

namespace KeyLocker.Database {
[Serializable]
public class UserDatabase {
    public void AddUser(string username,string password,string question,string answer) {
        using(var db = new KeyLockerContext()) {
            db.Add(new User { Username = username,Password = password,SecurityQuestion = question,SecurityAnswer = answer });
            db.SaveChanges();
        }
    }

    public bool CheckUser(string username,string password) {
        using(var db = new KeyLockerContext()) {
            /*here i need to find out if username is present in database
              and if it is, i need to find out if the password is correct*/
        }
    }
}

}

表用戶屏幕截圖

表SQL詳細信息

乍一看,執行您的想法的最簡單的代碼似乎是:

public bool CheckUser(string username,string password) {
    using(var db = new KeyLockerContext()) {

        // Check if that combination already exists in DB.
        var result = db.Users.Where(x => x.Username == username && x.Password == password).SingleOrDefault();

        // See if result has a value, SingleOrDefault() returns null if no match
        return (result == null);
    }
}

編輯/免責聲明:由於似乎有些混亂,所以這是一種有關如何快速檢查數據庫中是否存在帶有某些值的對象的想法,而不是完整的身份驗證庫。 您永遠不應存儲明文密碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM