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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.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错误代码21_Android_Sqlite - Fatal编程技术网

Android SQLite错误代码21

Android SQLite错误代码21,android,sqlite,Android,Sqlite,我在模拟器的日志文件中发现了以下错误,我不知道该怎么办,因为谷歌搜索什么也找不到 03-12 12:53:28.782: INFO/Database(688): sqlite returned: error code = 21, msg = misuse detected by source line 95716 03-12 12:53:28.812: ERROR/Database(688): sqlite_config failed error_code = 21. THIS SH

我在模拟器的日志文件中发现了以下错误,我不知道该怎么办,因为谷歌搜索什么也找不到

03-12 12:53:28.782: INFO/Database(688): sqlite returned: error code = 21, 
  msg = misuse detected by source line 95716
03-12 12:53:28.812: ERROR/Database(688): sqlite_config failed error_code = 21. 
  THIS SHOULD NEVER occur.
我发现

#define SQLITE_MISUSE      21   /* Library used incorrectly */
在公园里

如果一个或多个 使用SQLite API例程的 不对。不正确的例子 用法包括调用sqlite_exec 在数据库关闭之后 使用sqlite\u关闭或调用 具有相同数据库的sqlite_exec 指针同时从两个 分开的线程

我猜这意味着您的代码在第95716行附近错误地调用了接口库

稍后


OP确认实际问题涉及两个线程同时访问数据库,一个试图写入数据库,另一个试图关闭数据库。我由此推断,令人不快的代码行95716在模拟器中。(因为OP的代码库只有1000行或更少。)

不过就是这样。没有第95716行,因为我的代码库只有1000行。但您的评论为我指明了正确的方向,因为我确实有一些线程在处理数据库,但它们各自处理自己的连接,因此我必须更仔细地研究一下code.Hmmm。它可能是指模拟器源代码中的第95716行吗?你能切换到另一个模拟器来测试这个想法吗?我选择在关闭数据库时使用锁,这样两个调用就不会争用打开和关闭数据库。我认为这会解决未来的任何问题。如果这行得通,你应该写下来作为答案,Catcall:你给我指出了正确的方向,所以我不介意你接受我的评论并补充你的答案,这样其他人就可以被引导到正确的问题领域,以及解决问题的可能提示,因为你值得表扬,而不是我。