使用xamarin android c从sqlite数据库获取记录#

时间:2018-05-05 13:11:46

标签: c# android database sqlite xamarin

我正在使用c#查询sqlite以使用xamarin android中的电子邮件获取记录, 使用以下代码(期待单个记录)

public User ReturnRecordUsingEmail(string email)
        {
            var db = new SQLiteConnection(dbpath);
            var record = db.Table<User>().Where(r => r.Email.Contains(email)).Single();
            return record;
        }

但是当我将上面的函数调用到下面的代码时,它返回null。

   Toast.MakeText( this,db.ReturnRecordUsingEmail(MainActivity.Email).LastName.ToString(),ToastLength.Long).Show();

1 个答案:

答案 0 :(得分:0)

您的代码返回null可能有多种原因。确保User表不为空且包含电子邮件地址。

除了您的主要问题,您的代码几乎没有问题:

  1. 您必须处置SQLiteConnection
  2. 您的查询可以改进:
    db.Table<User>().SingleOrDefault(u => u.Email.Equals(email, StringComparison.OrdinalIgnoreCase))
  3. 另请注意,将用户数据库保留在移动设备上并不是最好的选择。