Мне нужно заполнить таблицу в локальной БД вместо заполнения ListView.
Согласно вашему описанию, вы получили List с использованием Api, теперь вы хотите создать локальную sqlite table и заполните этот список в этой таблице.
Во-первых, вам нужно установить sqlite- net -pcl с помощью пакета Nuget.
Затем создать одну базу данных sqlite. и Таблица продуктов, используя следующий код:
public void createtable()
{
var fileName = "Productdata.db3";
var documentPath = System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal);
var path = Path.Combine(documentPath, fileName);
connection = new SQLiteConnection(path);
connection.CreateTable<Product>();
}
Наконец, foreach Перечислите данные и вставьте данные в таблицу продуктов Sqlite.
private void Btn4_Clicked(object sender, EventArgs e)
{
var products = JsonConvert.DeserializeObject<List<Product>>(response);
foreach(Product p in products)
{
Product prod = new Product();
prod.productname = p.productname;
var data = connection.Table<Product>();
var d1 = data.Where(x => x.productname == prod.productname).FirstOrDefault();
if (d1 == null)
{
connection.Insert(prod);
Console.WriteLine("Sucessfully Added");
}
else
{
Console.WriteLine("Already Mail id Exist");
}
}
}
Вот класс продуктов:
public class Product
{
[PrimaryKey, AutoIncrement]
public int Id { get; set; }
public string productname { get; set; }
}
Вот статья о вставке данных в локальную базу данных sqlite, которую вы можете посмотреть:
https://www.c-sharpcorner.com/article/working-with-sqlite-in-xamarine-forms-application/