Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.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:无法使用SQL扩展函数或内置更新行_Android_Sqlite_Spatialite - Fatal编程技术网

Android:无法使用SQL扩展函数或内置更新行

Android:无法使用SQL扩展函数或内置更新行,android,sqlite,spatialite,Android,Sqlite,Spatialite,我在使用SQLiteDatabase命令时遇到了很多问题。我已经加载了spatialite并启用了扩展。我希望我的一个值是MakePoint函数的输出,所以我有一个如下的内容值: values.put("Location", "MakePoint(43.2, 27.345, 4326)"); 当它被传递到SQLiteDatabase.Update()中时,它被转义,结果字符串是“updatetargets SET Location='MakePoint(43.2,27.345,4326)'”S

我在使用SQLiteDatabase命令时遇到了很多问题。我已经加载了spatialite并启用了扩展。我希望我的一个值是MakePoint函数的输出,所以我有一个如下的内容值:

values.put("Location", "MakePoint(43.2, 27.345, 4326)");
当它被传递到
SQLiteDatabase.Update()
中时,它被转义,结果字符串是
“updatetargets SET Location='MakePoint(43.2,27.345,4326)'”
SQLite不喜欢这种情况并抛出异常


有没有简单的办法?现在我正在尝试手动构建字符串,因为我无法使用Update。

SQLiteDatabase
不是为SpatiaLite扩展设计的。
update()
只支持简单值,不支持通用表达式;不能使用它插入地理对象

执行命令的唯一方法是手动生成命令并通过
execSQL()
运行它


您可以编写自己的数据库包装器对象,以理解SpatiaLite数据类型。

我知道了。我必须先做一个“选择生成点(43.2,27.345,4326)”,然后将其插入到位置中