[英]SQLite.Net PCL support / workaround for Windows Phone 8.1
[英]SQLite net with linq on Windows Phone 8.1
假设我有下表:
public class User
{
public User()
{
}
public User(string name, string pass)
{
addUser(name, pass);
}
public void addUser(string name, string pass)
{
//todo cryptography
this.login = name;
this.password = pass;
}
[PrimaryKey, AutoIncrement]
public int ID { get; set; }
[Unique, MaxLength(20)]
public string login { get; set; }
[MaxLength(20)]
private string password { get; set; }
public string group { get; set; }
}
从用户表获取用户名的最佳方法是什么? 为了根据某个名称条件获得所有用户,我出于测试目的使用此示例功能。
public async void GetRow(string name) { var query = dbConnection.Table<User>().Where(x => x.login.Contains(name)); var result = await query.ToListAsync(); foreach (var item in result) { User u = item as User; MessageDialog msgbox = new MessageDialog(u.login); await msgbox.ShowAsync(); } }
假设我想根据给定的名称从Users表中仅获取1条记录,那是最好的方法。 我尝试过这样的事情:
from u in dbConection.Table<User> select u.Login where u.Login = name;
编辑:
广告1.引发异常
广告2:仅当表中存在记录时此方法才有效,否则会引发异常
var query = (from s in dbConnection.Table<User>() where s.login == name && s.password == password select s).FirstAsync();
User qr = query.Result;
我找到解决办法。 这是一个简单的验证功能。 谢谢您的帮助。
try
{
var query = (from s in dbConnection.Table<User>() where s.login == name && s.password == password select s).FirstAsync();
User x = await query;
if (x != null) return true;
else return false;
}
catch (Exception)
{
return false;
}
var some_strings = new List<string> {"Szcz","epan"};
string first_string = some_strings.FirstOrDefault();
//first_string = "szcz";
some_strings = new List<string>();
first_string = some_strings.FirstOrDefault();
//first_string = null;
if (first_string != null)
// do your stuff here.
如果您正在处理Int
,则默认值为零。 如果它是一个自定义类,则它将是您对该类的默认设置。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.