Estou aprendendo a usar sqlite.net
no Xamarin
, mas na hora de editar um item não está funcionando, eu depurei o código e dei um breakpoint
no EditItens()
e vi que os valores passados ao conexao.Query<Itens>
estão corretos, mas os recebidos na variável Teste
abaixo continuam os mesmo de anteriormente, estou errando algo na hora de editar os valores no sqlite? Também pode ter algo errado no GetItens()
, mas acho meio difícil porque ele funciona normalmente quando usado para pegar os valores e mostrar no ListView
da MainActivity
. Abaixo os métodos citados
string pasta = System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal);
public List<Itens> GetItens()
{
try
{
var conexao = new SQLiteConnection(System.IO.Path.Combine(pasta, "Itens.db3"));
return conexao.Table<Itens>().ToList();
}
catch (Exception)
{
return null;
}
}
public bool EditItens(Itens itens)
{
try
{
var conexao = new SQLiteConnection(System.IO.Path.Combine(pasta, "Itens.db3"));
conexao.Query<Itens>("UPDATE Itens set Nome=?,Preco=? Where Id=?", itens.Nome, itens.Preco, itens.Id);
Teste = GetItens();
return true;
}
catch (Exception)
{
return false;
}
}
Se puderem me falar onde posso encontrar o pasta, "Itens.db3"
pelo Explorador de arquivos do Windows, vai ajudar também porque posso verificar se o item realmente não está sendo editado.