本示例演示如何使用动态 SQL SELECT 语句的游标。
动态游标示例程序 (dcur) 允许用户选择要使用 N 命令查看的表。然后,该程序会根据屏幕大小尽可能多地显示表中的信息。
运行此程序时,它会提示输入连接字符串。以下是一个示例。
UID=DBA;PWD=sql;DBF=demo.db |
含有嵌入式 SQL 的 C 程序位于 %SQLANYSAMP16%\SQLAnywhere\C 目录中。对于 Windows Mobile,动态游标示例位于 \SQLAnywhere\CE\esql_sample 目录中。
dcur 程序使用嵌入式 SQL 接口函数 db_string_connect 连接到数据库。此函数还提供额外功能,可支持用于连接数据库的连接字符串。
open_cursor 例程首先构建 SELECT 语句
SELECT * FROM table-name |
其中 table-name 是传递给例程的参数。然后,它使用此字符串准备动态 SQL 语句。
嵌入式 SQL DESCRIBE 语句用于以 SELECT 语句的结果填充 SQLDA 结构。
最初推测的是 SQLDA 的大小 (3)。如果此值不够大,则会使用数据库服务器返回的 SELECT 列表的实际大小来分配一个大小正确的 SQLDA。
然后,用缓冲区填充 SQLDA 结构以存放代表查询结果的字符串。fill_s_sqlda 例程将 SQLDA 中的所有数据类型转换为 DT_STRING 并分配适当大小的缓冲区。
然后,为此语句声明并打开游标。用于移动和关闭游标的其余例程保持不变。
fetch 例程稍有不同:它将结果放在 SQLDA 结构中,而不是放在一组主机变量中。print 例程有很大改动,可按屏幕宽度显示来自 SQLDA 结构的结果。print 例程还使用 SQLDA 的名称字段来显示每列的标题。
![]() |
使用DocCommentXchange讨论此页。
|
版权 © 2013, SAP 股份公司或其关联公司. - SAP Sybase SQL Anywhere 16.0 |