【问题标题】:Xamarin Forms Sqlite create taskXamarin Forms Sqlite 创建任务
【发布时间】: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(*) ...获取记录数

标签: c# sqlite xamarin task


【解决方案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;
    }

【讨论】:

    猜你喜欢
    • 2018-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-05
    • 2019-03-20
    • 2020-03-16
    • 1970-01-01
    • 2016-08-03
    相关资源
    最近更新 更多