
无效的游标是很笼统的错误 我以前也经常遇到的
出现无效的游标状态,就是rs的游标现在没有指向一条记录比如刚得到结果集还没有next一次就getXXX数据
或者next已经返回false了,也就是正常while(rsnext())已经退出了,又去next一下获取数据
游标是系统为用户开设的一个数据缓冲区,存放SQL语句的执行结果。每个游标区都有一个名字。用户可以用SQL语句逐一从游标中获取记录,并赋给主变量,交由主语言进一步处理。主语言是面向记录的,一组主变量一次只能存放一条记录。仅使用主变量并不能完全满足SQL语句向应用程序输出数据的要求。嵌入式SQL引入了游标的概念,用来协调这两种不同的处理方式。在数据库开发过程中,当你检索的数据只是一条记录时,你所编写的事务语句代码往往使用SELECT INSERT 语句。但是我们常常会遇到这样情况,即从某一结果集中逐一地读取一条记录。那么如何解决这种问题呢?这时我们就会使用游标。
SQL中的select语句,其查询的结果,是返回满足某个条件的属性列的集合,如果我们要逐项使用返回的数据,比如说,想要把c哦11ege表的所有学院名字取出,逐项存放到某窗口的某dropdownlistbox的列表项中,仅仅用SQL所提供的增、删、改、查 *** 作,是实现不了的,这就需要用到数据库游标,使用数据库游标来实现逐项选取select语句返回的属性列。
--测试
DECLARE @SNAME VARCHAR(20)
DECLARE DD CURSOR FOR SELECT SNAME FROM S
OPEN DD
--楼上说的对你要的是判断游标是否存在
select from MASTERdbosyscursors where cursor_name='DD'
--以下 *** 作为判断游标是否存在的同时检测游标状态。
SELECT (CASE WHEN CURSOR_STATUS('global','DD')=1 THEN '游标的结果集至少有一行'
WHEN CURSOR_STATUS('global','DD')=0 THEN '游标的结果集为空'
WHEN CURSOR_STATUS('global','DD')=-1 THEN '游标被关闭'
WHEN CURSOR_STATUS('global','DD')=-2 THEN '游标不适用'
WHEN CURSOR_STATUS('global','DD')=-3 THEN '游标不存在' END) AS RESULT
/返回结果:
1
游标的结果集至少有一行。
对于不区分的游标和键集游标,结果集至少有一行。
对于动态游标,结果集可以有零行、一行或多行。
分配给该变量的游标已打开。
对于不区分的游标和键集游标,结果集至少有一行。
对于动态游标,结果集可以有零行、一行或多行。
0
游标的结果集为空。
分配给该变量的游标已经打开,然而结果集肯定为空。
-1
游标被关闭。
分配给该变量的游标被关闭。
-2
不适用。
可以是:
先前调用的过程并没有将游标分配给 OUTPUT 变量。
先前调用的过程为 OUTPUT 变量分配了游标,然而在过程结束时,游标处于关闭状态。因此,游标被释放,并且没有返回调用过程。
没有将游标分配给已声明的游标变量。
-3
具有指定名称的游标不存在。
具有指定名称的游标变量并不存在,或者即使存在这样一个游标变量,但并没有给它分配游标。
在数据库中,游标提供了一种对从表中检索出的数据进行 *** 作的灵活手段。就本质而言,游标实际上是一种能从包括多条数据记录的结果集中每次提取一条记录的机制。
游标总是与一条SQL
选择语句相关联因为游标由结果集(可以是零条、一条或由相关的选择语句检索出的多条记录)和结果集中指向特定记录的游标位置组成。
游标关于数据库中的 *** 作会对整个行集产生影响。由SELECT语句返回的行集包括所有满足该语句WHERE子句中条件的行。由语句所返回的这一完整的行集被称为结果集。
应用程序,特别是交互式联机应用程序,并不总能将整个结果集作为一个单元来有效地处理。这些应用程序需要一种机制以便每次处理一行或一部分行。游标就是提供这种机制的结果集扩展。
扩展资料:
游标通过以下方式扩展结果处理:
1允许定位在结果集的特定行。
2从结果集的当前位置检索一行或多行。
3支持对结果集中当前位置的行进行数据修改。
4为由其他用户对显示在结果集中的数据库数据所做的更改提供不同级别的可见性支持。
5提供脚本、存储过程和触发器中使用的访问结果集中的数据的Transact-SQL语句。
以上就是关于急急急!!!无效的游标状态全部的内容,包括:急急急!!!无效的游标状态、如何在地理数据库中使用游标、关于数据库游标的概念等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)