Xamarin表单sqlite选择指定行

Xamarin表单sqlite选择指定行,sqlite,xamarin,Sqlite,Xamarin,我是Xamarin的新手,我正在寻找一种方法,以便在我的表中选择具体的行 这是我的方法: public List<MyWords> SelectWords( int rows , int x ) { if ( x<=6 ) { var myword = (from word in conn.Table<MyWords>() whe

我是Xamarin的新手,我正在寻找一种方法,以便在我的表中选择具体的行

这是我的方法:

 public List<MyWords> SelectWords( int rows  , int x )
        {

            if ( x<=6 ) {
                var myword = (from word in conn.Table<MyWords>()
                              where ( word.ID >= 10 && word.ID =< 17 )
                              select word);
                return myword.ToList();
            }
public List SelectWords(int行,int x)
{
如果(x=10&&word.ID=<17)
选择单词);
返回myword.ToList();
}
这是可行的,但问题是,如果删除3行ID介于10和17之间的行,则不会得到7行,而是4行((17-10)=7和(7-3)=4)

所以我正在寻找一种方法,即使我删除了行,也能得到7行。或者如果你知道更好的解决方案


我在想,也许有一种方法可以更新我的文字。那么这将永远有效


谢谢

如果您希望这样做,以便始终在索引10之后获取接下来的七个元素,您可以将查询设置为如下所示:

return conn.Table<MyWords>().Where(x => x.id >= 10).Take(7).ToList();
return conn.Table().Where(x=>x.id>=10.Take(7.ToList();

请记住,如果您创建了一个包含17个项目的表,然后删除了ID为12-16的项目(5个项目),然后又添加了5个项目,这将返回ID为10、11、17-21的项目。它不会重新分配ID

在包含的范围10..17中有八行。但是应该如何选择额外的行呢?我在想,也许有一种方法可以刷新我的word.ID。那么这会一直起作用。我想你是在混淆表格和列表。当您从列表中删除一个项目时,它上面的所有成员都将向下移动一个以填补空白。表和数组一样,不会移动,只会在项目所在的位置留下一个间隙。尝试在删除的引用中获取对象只会返回null。我理解,那么您有关于如何将表值放入列表的示例吗?