Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (中文) » SQL Anywhere 服务器 - 编程 » 使用 SQL Anywhere 编程简介 » 在应用程序中使用 SQL » 使用游标

 

使用游标

在嵌入式 SQL 中使用游标与在其它接口中使用游标不同。

♦  使用游标(ADO.NET、ODBC、JDBC 和 Open Client)
  1. 准备和执行语句。

    使用接口的常用方法执行语句。您可以先准备语句,然后再执行该语句;也可以直接执行语句。

    使用 ADO.NET 时,只有 SACommand.ExecuteReader 方法才返回游标。此命令提供只读、只进游标。

  2. 进行测试,看一看语句是否返回结果集。

    在执行创建结果集的语句时,游标被隐式打开。在打开游标时,游标定位在结果集的第一行之前。

  3. 读取结果。

    虽然简单读取操作会将游标移到结果集中的下一行,但是 SQL Anywhere 允许在结果集内进行更复杂的移动。

  4. 关闭游标。

    当您用完游标之后,将它关闭以释放关联的资源。

  5. 释放语句。

    如果您使用了预准备语句,则请释放它以回收内存。

♦  使用游标(嵌入式 SQL)
  1. 准备语句。

    游标通常使用语句句柄而不是字符串。要使用句柄,您需要准备语句。

    有关准备语句的信息,请参见准备语句

  2. 声明游标。

    每个游标都将引用单个 SELECT 或 CALL 语句。当声明游标时,应声明游标的名称和它所引用的语句。

    有关详细信息,请参见DECLARE CURSOR 语句 [ESQL] [SP]

  3. 打开游标。请参见OPEN 语句 [ESQL] [SP]

    对于 CALL 语句,打开游标会执行过程直到即将获得第一行时为止。

  4. 读取结果。

    虽然简单读取操作会将游标移到结果集中的下一行,但是 SQL Anywhere 允许在结果集内进行更复杂的移动。声明游标的方式决定了可以使用哪些读取操作。请参见FETCH 语句 [ESQL] [SP]读取数据

  5. 关闭游标。

    当您用完游标之后,应将它关闭。这会释放与游标关联的所有资源。请参见CLOSE 语句 [ESQL] [SP]

  6. 删除语句。

    要释放与语句关联的内存,必须删除语句。请参见DROP STATEMENT 语句 [ESQL]

有关在嵌入式 SQL 中使用游标的详细信息,请参见读取数据

预取行

在某些情况下,接口库可能会在内部执行性能优化(如预取结果),因此客户端应用程序中的这些步骤可能不完全与软件操作一致。