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

SQL Anywhere 11.0.1 (中文) » UltraLite - C 及 C++ 编程 » 应用程序开发 » 使用 UltraLite C++ API 开发应用程序 » 使用 Table API 访问数据

 

浏览表中的行

UltraLite C++ API 提供了几种浏览表的方法,以执行各种浏览任务。

表对象提供了以下方法来浏览表:

  • AfterLast   定位到紧接在最后一行后面的位置。

  • BeforeFirst   定位到紧接在第一行前面的位置。

  • First   移至第一行。

  • Last   移至最后一行。

  • Next   移至下一行。

  • Previous   移至上一行。

  • Relative(offset)   根据带符号的偏移值的指定,相对于当前行移动特定行数。如果偏移值为正,则相对于游标在结果集中的当前位置在结果集中向前移动。如果偏移值为负,则在结果集中向后移动。如果偏移值为零,则不移动当前位置,但可以重新填充行缓冲区。

请参见UltraLite_Table_iface 类

示例

以下代码打开名为 MyTable 的表并显示每一行名为 MyColumn 的列的值。

Table * tbl = conn->openTable( "MyTable" );
ul_column_num colID = 
   tbl->GetSchema()->GetColumnID( "MyColumn" );

while ( tbl->Next() ){
   char buffer[ MAX_NAME_LEN ];
   ULValue colValue = tbl->Get(colID);
   colValue.GetString(buffer, MAX_NAME_LEN);
   printf( "%s\n", buffer );
}

打开表对象时,应用程序可以访问表中的行。缺省情况下,这些行按主键值排序,但可在打开表时指定一个索引,以便以特定的顺序访问行。

示例

以下代码片段用于移动到按 ix_col 索引指定的顺序排序的 MyTable 表的第一行。

ULValue table_name( UL_TEXT("MyTable") )
ULValue index_name( UL_TEXT("ix_col") )
Table * tbl = 
   conn->OpenTableWithIndex( table_name, index_name );

请参见UltraLite_Table_iface 类