我目前正在使用SQLite在Xamarin.ios上使用C#创建登录系统。我遇到的问题是向数据库发送散列密码,工作正常。在它的登录方面,我需要返回实际的哈希值,以便我可以运行一个方法,根据用户输入的值检查返回的值。
我遇到的问题是查询实际上并没有实际返回一个值,我实际上并不了解从查询中得到的内容。我运行FirstOrDefault以确保我只收到用户已经收到电子邮件的电子邮件和密码。但是,因为我没有得到字符串值,我不确定如何将它放入检查哈希值的方法中。
希望这是有道理的。这是运行查询的代码:
public void UserLogin()
{
string dbPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Personal), "PmApp.db3");
var connection = new SQLiteConnection(dbPath);
string loginEmail = loginEmailInput.Text;
string loginPass = loginPasswordInput.Text;
var emailExists = (from s in connection.Table<SQLiteTables.LoginInfo>()
where s.Email.Equals(loginEmail)
where s.Password.Equals(loginPass)
select s).FirstOrDefault();
Console.WriteLine(emailExists); //This is just to see what value gets returned
}
这是返回的值:
2018-05-16 15:57:50.401 SQLite[15735:8043670] SQLite.SQLiteTables+LoginInfo
希望有人可以提供帮助。 杰米
答案 0 :(得分:0)
如果您只需要返回一列,请尝试以下操作:
var emailExists = (from s in connection.Table<SQLiteTables.LoginInfo>()
where s.Email.Equals(loginEmail)
where s.Password.Equals(loginPass)
select s.Email).FirstOrDefault();
答案 1 :(得分:0)
if (inputData.code === 'WSDCD-D2DUK') {
output = 'Company A';
} else if (inputData.code === '6P1CX-5U2TY'){
output = 'Company B';
}
else {
output = 'Not Avaliable';
}
return {result: output};
你也可以先做哈希
if (inputData.code === 'WSDCD-D2DUK') {
output = 'Company A';
course = 'ABC'
} else if (inputData.code === '6P1CX-5U2TY'){
output = 'Company B';
course = 'XYZ'
}
else {
output = 'Not Avaliable';
course = 'Not in one';
}
return {result: output, course};