C# sqlite reader为空,但值正确
我有一个数据库连接,带有SqliteDataReader。读者可以很好地看到数据库,但在数据库中找不到用户,即使我检查了用户名和密码是否正确 C#C# sqlite reader为空,但值正确,c#,database,sqlite,C#,Database,Sqlite,我有一个数据库连接,带有SqliteDataReader。读者可以很好地看到数据库,但在数据库中找不到用户,即使我检查了用户名和密码是否正确 C# 我做错什么了吗?你的密码是字符串对吗 尝试删除GetHashCode(),然后只使用密码GetHashCode()将为您提供一个int,而不是字符串您希望password.GetHashCode()做什么?它返回一个Int32值。@C.Evenhuis-当人们在数据库中查找时,我想“隐藏”用户密码。密码在数据库中保存为int。请参阅:“您不应该在创建
我做错什么了吗?你的密码是
字符串
对吗
尝试删除
GetHashCode()
,然后只使用密码GetHashCode()
将为您提供一个int
,而不是字符串
您希望password.GetHashCode()
做什么?它返回一个Int32
值。@C.Evenhuis-当人们在数据库中查找时,我想“隐藏”用户密码。密码在数据库中保存为int
。请参阅:“您不应该在创建它的应用程序域之外保留或使用哈希代码”
using (var command = new SQLiteCommand("select * from Player where Username=@username and Password=@password", con))
{
command.Parameters.AddWithValue("username", username);
command.Parameters.AddWithValue("password", password.GetHashCode());
SQLiteDataReader reader = command.ExecuteReader();
if (reader.Read())
{
var p = createObject(reader);
setPlayer(p);
reader.Close();
return true;
}
}