cursor.moveToNext()不执行,直接执行cursor.close

问题:

觉得明明有传值到dbManager中,可是cursor.moveToNext()不执行,直接执行cursor.close,如图:

我这边传过来的是branch,branch传过来的值是“佛祖”,在执行到cursor这里的时候,在数据库中没找到branch为"佛祖"的数据,所以while循环的语句就不会执行了,会直接执行cursor.close();

错误原因:

解决:

以为branch传过来的时候有值,就以为数据库中有这条数据,其实并没有。此时就可以测试一下把所以数据查询出来,如果查出来没有这条数据,那就说明这条数据在数据库中并没有,所以就需要仔细检查一下插入数据的语句了,因为是有可能是插入语句有错,导致插入不成功。所以这里查询的时候就查不到,结果就直接执行cursor.close();了。

时间: 2024-11-08 12:43:23

cursor.moveToNext()不执行,直接执行cursor.close的相关文章

SQLite cursor.moveToNext()

cursor.moveToNext()会出异常,如下 E/AndroidRuntime( 2249): FATAL EXCEPTION: Thread-49 E/AndroidRuntime( 2249): java.lang.IllegalStateException: Cannot perform this operation because the connection pool has been closed.E/AndroidRuntime( 2249): at android.dat

bash代码执行-选择执行 if or case

过程式编程语言代码执行顺序 顺序执行 逐条逐条执行 选择执行 代码有一个分支,条件满足是才会执行:两个或以上的分支只会执行其中一个分支 循环执行 代码片段(循环体)执行0,1多个来回 选择执行是指代码有一个分支,条件满足时才会执行 选择执行:   1.if语句      单分支if语句 if 测试条件:then 代码分支 fi [[email protected] testdir]# vim if1.sh #!/bin/bash #snowbamboo #2016.08.19 #单分支if语句脚

程序中使用事务来管理sql语句的执行,执行失败时,可以达到回滚的要求。

1.设置使用事务的SQL执行语句 1 /// <summary> 2 /// 使用有事务的SQL语句 3 /// </summary> 4 /// <param name="sql"></param> 5 /// <param name="conn"></param> 6 /// <param name="tran"></param> 7 /// &l

JS 作用域 作用域链 执行上下文 执行上下文栈

当我想要整理作用域这块的时候,看各种博客,发现看的我都有点迷糊了,尴尬啊.. 下面说的都以下面这个例子解释 全局对象: 变量a1,函数fun1 一:作用域 在函数fun1声明时,会在scope中存放能访问到的所有资源,他能访问到的也就是全局对象. 二:作用域链 在函数执行时,会生成执行环境excution context,执行环境中存放活动对象.作用域链scope chain.this,作用域链中存放 活动对象.变量对象.全局对象 二:执行上下文 执行上下文也叫做执行环境,执行环境定义了变量或函

javaee实现在spring执行后执行相关代码

1:首先在web.xml中声明servlet <servlet> <servlet-name>ApplicationOnload</servlet-name> <servlet-class>com.ApplicationOnload</servlet-class> </servlet> <servlet-mapping> <servlet-name>ApplicationOnload</servlet-n

python中try里有return时,finally还执行不执行

写一个函数,在try里返回,最后在finnaly里打印语句,代码如下 def fun1(): x = 1 try: print('执行try') x = x + 1 # x = x / 0 # 执行次语句时,finally执行时,x的值依然是4 return print('执行try的return', x) except: print('异常') return x finally: x += 1 x += 1 print('finally执行:', x) 执行结果如下图所示: 由此可以看出,函数

struts2的执行原理(执行流程,过滤器和拦截器)

一个请求在Struts2框架中的处理大概分为以下几个步骤: 1 客户端发送请求:2 这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助,例如:SiteMesh Plugin)3 接着FilterDispatcher被调用,FilterDispatcher询问ActionMapper来决定这个请是否需要调用某个Action.FilterDispatcher的功能如下: (1)执

PHP的执行原理/执行流程

http://www.cnblogs.com/hongfei/archive/2012/06/12/2547119.html 更深入的学习和了解可以查看下面: 风雨的博客http://www.laruence.com/2008/08/12/180.html 百度研发中心的博客http://stblog.baidu-tech.com/?p=763 王兴宾的博客http://blog.csdn.net/wanghao72214/article/details/3916825 简介 先看看下面这个过程

aspxshell下突破无可写可执行目录执行cmd

try { var strPath:String = "c:\\windows\\temp\\cmd.exe", strUser:String = "everyone"; var dirinfo:System.IO.DirectoryInfo = new System.IO.DirectoryInfo(strPath); var dirsecurity:System.Security.AccessControl.DirectorySecurity = dirinfo