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 具有用于处理数据的不同操作模式。您可以将其中两种模式(查找和查寻)用于搜索。Table 对象具有对应于这些模式的方法,用于定位表中的特定行。

注意

使用 Find 方法和 Lookup 方法搜索的列必须在用于打开该表的索引中。

  • Find 方法   按照打开 Table 对象时指定的排序顺序,移动到与指定的搜索值完全匹配的第一行。如果找不到搜索值,则应用程序将定位到第一行之前或最后一行之后。

  • Lookup 方法   按照打开 Table 对象时指定的排序顺序,移动到与指定的搜索值匹配或大于指定的搜索值的第一行。

♦  搜索行
  1. 进入查找或查寻模式。

    调用表对象上的方法来设置模式。例如,以下代码将进入查找模式。

    tbl.FindBegin();
  2. 设置搜索值。

    设置当前行中的搜索值。设置这些值仅影响保存当前行的缓冲区,而不影响数据库。例如,以下代码段用于将缓冲区中的值设置为 Kaminski。

    ULValue lname_col = t->GetSchema()->GetColumnID( UL_TEXT("lname") );
    ULValue v_lname( UL_TEXT("Kaminski") );
    tbl.Set( lname_col, v_lname );
  3. 搜索行。

    调用适当的方法来执行搜索。例如,以下代码在当前索引中查找与指定值完全匹配的第一行。

    对于多列索引,将始终使用第一列的值,但可以忽略其它列。

    tCustomer.FindFirst();
  4. 搜索该行的下一个实例。

    调用适当的方法来执行搜索。对于查找操作,FindNext 查找索引中参数的下一个实例。对于查寻操作,MoveNext 查找下一个实例。

请参见UltraLite_Table_iface 类