如何使用用户输入更新C#中sqlite表中存储的数据

时间:2019-01-05 22:41:06

标签: c# database sqlite

我想用用户提供的新用户名和密码更新SQLite数据库中存储的用户名和密码,以便他们可以更新其用户详细信息。

我已经尝试查找问题的解决方案,并找到了具有类似要求的相似用户,但是当我尝试用我的代码实现他们的解决方案时,似乎不起作用。

SQLiteConnection con = new SQLiteConnection("Data Source=Users.sqlite;Version=3;");

SQLiteCommand cmd = new SQLiteCommand("select * from UserInfo where username like @username and password = @password;", con);
cmd.Parameters.AddWithValue("@username", oldusername);
cmd.Parameters.AddWithValue("@password", oldpassword);
con.Open();

SQLiteDataReader sdr = cmd.ExecuteReader();

if ((sdr.Read() == true))
{
    MessageBox.Show("Username and Password Updated Successfully!",
                    "Task Completed");

    string update ="UPDATE UserInfo SET UserName='" + newusername + "', Password='" + newpassword + "'  WHERE (Username='" + oldusername + "' AND Password ='" + oldusername + "');";
    con.Close();
}
else
{
    MessageBox.Show("Invalid username or password",
                    "Incorrect details entered");
}

问题是我的代码检查旧的用户名和密码是否存储在UserInfo表中,但是没有用新的用户名和密码更新表。我不知道我在做什么错,所以如果有人可以纠正我并改善代码,那就太好了。预先感谢。