Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/187.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何在sqlite表中插入/查找间隙_Android_Sql_Sqlite - Fatal编程技术网

Android 如何在sqlite表中插入/查找间隙

Android 如何在sqlite表中插入/查找间隙,android,sql,sqlite,Android,Sql,Sqlite,sqlite中的我的表有列“name”,它接受前缀+整数值之类的输入。例如p1,p2。如果有5行p1,p2,p5,p7,p10。我知道输入前缀是'p',我的下一个插入值必须是p4之后的p3,p6,p8,。。像那样。请帮助我查询,以找到此差距或任何API支持,我正在使用android编程中的content_provider。请帮助我,我的客户需要这个..为什么不查询整个表?所以你得到了p1,p2,p5,p7和p10的值。将它们作为字符串放入arraylist中,并对其进行迭代。看看你没有哪些价值观

sqlite中的我的表有列“name”,它接受前缀+整数值之类的输入。例如p1,p2。如果有5行p1,p2,p5,p7,p10。我知道输入前缀是'p',我的下一个插入值必须是p4之后的p3,p6,p8,。。像那样。请帮助我查询,以找到此差距或任何API支持,我正在使用android编程中的content_provider。请帮助我,我的客户需要这个..

为什么不查询整个表?所以你得到了p1,p2,p5,p7和p10的值。将它们作为字符串放入arraylist中,并对其进行迭代。看看你没有哪些价值观

另一种可能是创建一个带有p0到pXXXX的列表程序。迭代它们,然后查看数据库中没有的名称。创建新记录,将它们添加到列表中,并将它们推送到数据库中

或者,您只需获取最大值和最小值,填充它们之间的所有内容,并将其推送到db(创建或替换)


希望这有助于找到您的算法。

您必须从名称中提取数字,并使用该数字搜索下一个数字:

SELECT 'p' || (substr(Name, length('p') + 1) + 1)
FROM MyTable
WHERE NOT EXISTS (SELECT 1
                  FROM MyTable AS T2
                  WHERE T2.Name = 'p' || (substr(MyTable.Name, length('p') + 1) + 1))
ORDER BY substr(Name, length('p') + 1) + 1
LIMIT 1;

如果人们有一些相关的代码要处理,那么他们会更容易帮助您-请向我们展示您迄今为止所做的尝试