![](/img/trans.png)
[英]how to validate sqlite username & password with user input in xamarin
[英]How to query user information based on its username in Xamarin
我正在嘗試獲取用戶性別並將其顯示在我的登錄頁面上,以便我可以在登錄后將其傳遞到下一個頁面。
我正在使用 textchange 事件來查看用戶名是否存在。 這是我的代碼:
private void EntryLoginUsername_TextChanged(object sender, TextChangedEventArgs e)
{
var dbpath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), "Userdatabase.db");
var db = new SQLiteConnection(dbpath);
RegUserTable _userstable = new RegUserTable();
if (!string.IsNullOrWhiteSpace(EntryLoginUsername.Text))
{
if (IsTableExists("RegUserTable") == true)
{
var checkquery = db.Table<RegUserTable>().Where(a => a.Username == EntryLoginUsername.Text).FirstOrDefault();
if (checkquery != null)
{
// ani i insert ang tts function
var gendercheck = db.Query<RegUserTable>("SELECT Gender FROM RegUserTable WHERE Username = ?", EntryLoginUsername.Text);
if (gendercheck != null)
{
GenderIdentifier.Text = gendercheck.ToString(); ;
}
else
{
GenderIdentifier.Text = "nooooo";
}
}
else
{
GenderIdentifier.Text = "nooo";
}
}
}
else
{
GenderIdentifier.Text = "no";
}
}
當我運行我的應用程序時,它不會給我一個錯誤,但如果用戶名存在於我的數據庫中,這是輸出:
那里的輸出應該是“男”或“女”。
根據您的代碼片段,我猜您的RegUserTable
有 Gender 字段。 因此,不需要兩次查詢以獲取用戶並再次查詢性別。
注意:如果用戶在第一次查詢的表中可用,您將獲得該用戶的所有信息。 因此,您可以直接從該對象本身訪問用戶的性別。
檢查下面的代碼。 這對你有用
var checkquery = db.Table<RegUserTable>().Where(a => a.Username == EntryLoginUsername.Text).FirstOrDefault();
if(checkquery !=null)
{
var userGender= checkquery.Gender;
GenderIdentifier.Text = userGender;
}
gendercheck
是一個List<RegUserTable>
var gendercheck = db.Query<RegUserTable>("SELECT Gender FROM RegUserTable WHERE Username = ?", EntryLoginUsername.Text);
嘗試這個
GenderIdentifier.Text = gendercheck.FirstOrDefault().Gender.ToString();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.