Xamarin.Android 使用 SQLite 出现 Index -1 requested, with a size of 10 异常

Posted 万石谷,粒粒积累;千丈布,根根织成

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Xamarin.Android 使用 SQLite 出现 Index -1 requested, with a size of 10 异常相关的知识,希望对你有一定的参考价值。

异常: android.Database.CursorIndexOutOfBoundsException: Index -1 requested, with a size of 10

此错误是数据返回到ICursor无法确定获取列的索引,那么需要加上一下代码即可。

if (i == 0)             //确定游标位置
{
    ic.MoveToFirst();
}
else
{
    ic.MoveToNext();
}

完整代码Demo:

/// <summary>
/// 查询数据
/// </summary>
void QueryData()
{
    ICursor ic =  Localhost_DataBase.Query("tb_person", null, null, null, null, null, null);
    for (int i = 0; i < ic.Count; i++)
    {
        if (i == 0)             //确定游标位置
        {
            ic.MoveToFirst();
        }
        else
        {
            ic.MoveToNext();
        }

        person = new Person();
        person.Id = ic.GetString(ic.GetColumnIndex("Id"));
        person.Name = ic.GetString(ic.GetColumnIndex("name"));
        person.Age = ic.GetString(ic.GetColumnIndex("age"));
        person.Sex= ic.GetString(ic.GetColumnIndex("sex"));
        person.IdCard = ic.GetString(ic.GetColumnIndex("idcard")); 
        list.Add(person); 
    }
    lv_Person.Adapter = new ListViewAdapter(this, list);
}

 

以上是关于Xamarin.Android 使用 SQLite 出现 Index -1 requested, with a size of 10 异常的主要内容,如果未能解决你的问题,请参考以下文章

xamarin.Android SQLite存储

Xamarin.Android 使用 SQLite 出现 Index -1 requested, with a size of 10 异常

Xamarin - Sqlite.net 内存消耗非常高

Xamarin.Android(或者Android Studio)用的数据库是Microsoft Access还是SQLite的?

Xamarin android-应用关闭时推送通知单击删除 SQLite 数据

Xamarin SQLite教程Xamarin.iOS项目添加引用