为什么SQLite数据库值没有检索?

时间:2014-04-07 13:12:37

标签: c# sqlite

我尝试将一些数据存储到c#, XAML项目中。当我在get存储到数据库中添加数据时。但是当我试图找回它们时,它并没有发生。是什么原因。

存储值的代码 值通过参数传递。它们是用户输入。

var DBPath = Database.DB_PATH;
using (var db = new SQLite.SQLiteConnection(DBPath))
{
      db.CreateTable<User>();
      db.RunInTransaction(() =>
      {
          db.Insert(new User()
          {
              userName = uName,
              password = pass,
              email = mail,
              country = countRy,
           });
      });
}

MessageBox.Show("Details Added");

检索值

var _user = db.Query<User>("select * from User").FirstOrDefault();
db.RunInTransaction(() =>
{
      if (getUserName.Text == (_user.userName))
      {
            MessageBox.Show("Welcome " + getUserName.Text);
            NavigationService.Navigate(new Uri("/Map.xaml", UriKind.Relative));
      }
      else
      {
            MessageBox.Show("Invalid Credentials");
      }});
}

2 个答案:

答案 0 :(得分:2)

插入记录后,您必须提交更改 插入记录后调用db.commit()

答案 1 :(得分:1)

退出交易模式时,您需要CommitRollback,才能应用或还原您的更改。

在检索您的值之前,请确保在插入时调用db.Commit()