Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

4. Persistência de dados - Vídeo 4.3

Ao executar o aplicativo retornar o erro.

Arquivo do erro: RefeicaoDAO.cs

    public class RefeicaoDAO
    {
        private SQLiteConnection conexao;
        public RefeicaoDAO(SQLiteConnection con)
        {
            conexao = con;
            conexao.CreateTable<Refeicao>();
        }

        public void Salvar(Refeicao refeicao)
        {
            conexao.Insert(refeicao);
        }
        public ObservableCollection<Refeicao> GetAll()
        {

            return new ObservableCollection<Refeicao>(conexao.Table<Refeicao>());
        }
    }

Linha do erro: conexao.CreateTable();

Exception:
An exception of type 'System.NotSupportedException' occurred in SQLite-net.ni.DLL but was not handled in user code

Additional information: Don't know about Xamarin.Forms.View

Stacktrace

   at SQLite.Orm.SqlType(Column p, Boolean storeDateTimeAsTicks)
   at SQLite.Orm.SqlDecl(Column p, Boolean storeDateTimeAsTicks)
   at SQLite.SQLiteConnection.<CreateTable>m__0(Column p)
   at System.Linq.Enumerable.WhereSelectArrayIterator`2.MoveNext()
   at System.Linq.Buffer`1..ctor(IEnumerable`1 source)
   at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)
   at SQLite.SQLiteConnection.CreateTable(Type ty, CreateFlags createFlags)
   at SQLite.SQLiteConnection.CreateTable[T](CreateFlags createFlags)
   at rabbiNutricao.Data.RefeicaoDAO..ctor(SQLiteConnection con)
   at rabbiNutricao.HomeTabbedPage..ctor()
   at rabbiNutricao.App..ctor()
   at rabbiNutricao.WinPhone.MainPage..ctor()
   at rabbiNutricao.WinPhone.rabbiNutricao_WinPhone_XamlTypeInfo.XamlTypeInfoProvider.Activate_4_MainPage()
   at rabbiNutricao.WinPhone.rabbiNutricao_WinPhone_XamlTypeInfo.XamlUserType.ActivateInstance()
5 respostas

Oi Antônio, tudo bem?

Parece que está faltando o SQLite em seu projeto. Você seguiu esses passos?

 package manager -> Add Package e procure por SQLite.net PCL.

Estou utilizando o VS2015, como faço para enviar uma imagem da minha tela para vc ver como estão as configurações? Pois está o packages.config está assim: <?xml version="1.0" encoding="utf-8"?>

<?xml version="1.0" encoding="utf-8"?> < packages > < package id="sqlite-net-pcl" version="1.1.1" targetFramework="wpa81" /> < package id="SQLitePCL.raw" version="0.8.6" targetFramework="wpa81" /> < package id="Xamarin.Forms" version="2.2.0.45" targetFramework="wpa81" />

solução!

Descobri o erro, na realidade eu havia criado uma content page para a class Refeicao. Resolvi criando a classe correta!

Oi Antonio

que bom saber que resolveu, sem dúvida seu tópico vai ajudar outros alunos que cairem no mesmo problema.

bons estudos