Xamarin Forms Sqlite 创建任务
Posted
技术标签:
【中文标题】Xamarin Forms Sqlite 创建任务【英文标题】:Xamarin Forms Sqlite create task 【发布时间】:2021-05-05 05:09:26 【问题描述】:我在我的 xamarin 项目中使用 SQLite。我有一堂课,当我想检索记录时,我使用 以下任务,如
public Task<List<Movies_RecDef>> GetMovies_RecDefs_ByID(int ID)
string sqlStr = "SELECT * FROM [Movies_RecDef] where [ID] = " + ID;
return _database.QueryAsync<Movies_RecDef>(sqlStr);
我想创建一个任务来返回表中的记录数或字段名称,但我混淆了我使用的变量。
【问题讨论】:
您要返回记录数?不清楚你的最后一句话select count(*) ...
获取记录数
【参考方案1】:
我想创建一个任务来返回表中的记录数或字段名称,但我混淆了我使用的变量。
这是我的班级经理:
public class Managers
[PrimaryKey, AutoIncrement]
public int? ID get; set;
public string EmployeeID get; set;
public string Name get; set;
我创建了 SQLiteHelper 类来从 Sqlite 数据库中获取一些数据。
public class SQLiteHelper
SQLiteAsyncConnection db;
public SQLiteHelper(string dbPath)
db = new SQLiteAsyncConnection(dbPath);
db.CreateTableAsync<Managers>().Wait();
//Insert and Update new record
public Task<int> SaveItemAsync(Managers person)
if (person.ID != null)
return db.UpdateAsync(person);
else
return db.InsertAsync(person);
//Delete
public Task<int> DeleteItemAsync(Managers person)
return db.DeleteAsync(person);
//Read All Items
public Task<List<Managers>> GetItemsAsync()
return db.Table<Managers>().ToListAsync();
//Read Item
public Task<Managers> GetItemAsync(int personId)
return db.Table<Managers>().Where(i => i.ID == personId).FirstOrDefaultAsync();
现在,您可以使用 Id 参数获取记录数或获取任何一条记录。
SQLiteHelper db;
private async void btnget_Clicked(object sender, EventArgs e)
Managers m = await db.GetItemAsync(1);
private async void btngetcount_Clicked(object sender, EventArgs e)
List<Managers> datas = await db.GetItemsAsync();
int count = datas.Count;
【讨论】:
以上是关于Xamarin Forms Sqlite 创建任务的主要内容,如果未能解决你的问题,请参考以下文章
我应该在 Xamarin.Forms 上使用哪些 SQLite (sqlite-net-pcl) 标志?
无法在 UWP 中设置 SQLite 对象 - Xamarin Forms
Xamarin.Forms 中的 sqlite 如何更新本地数据库中的单个记录