Table 对象始终位于以下位置之一:
如果 Table 对象位于某一行上,可以在适合该数据类型的一组方法中使用一种方法来检索或修改该行中各列的值。
Table 对象提供了一组用于检索列值的方法。这些方法都将列 ID 作为参数。
以下代码片段用于检索 lname 列的值,该值是一个字符串。
ULValue val; char lname[ MAX_NAME_LEN ]; val = tbl->Get( UL_TEXT("lname") ); val.GetString( lname, MAX_NAME_LEN ); |
以下代码检索 cust_id 列的值,该值是一个整数。
int id = tbl->Get( UL_TEXT("cust_id") ); |
除用于检索值的方法外,还有用于设置值的方法。这些方法将列 ID 和值作为参数。
例如,以下代码将 lname 列的值设置为 Kaminski。
ULValue lname_col( UL_TEXT("fname") ); ULValue v_lname( UL_TEXT("Kaminski") ); tbl->Set( lname_col, v_lname ); |
通过设置列值,您不用直接变更数据库中的数据。即使是在该表的第一行之前或最后一行之后,您也可以给属性指派值。当前行未定义时,不要尝试访问数据。例如,尝试读取以下示例中的列值是错误的:
// This code is incorrect tbl.BeforeFirst(); id = tbl.Get( cust_id ); |
所选方法应与要指派的数据类型匹配。UltraLite 自动转换兼容的数据库数据类型,这样您就可以使用 GetString 方法将一个整数值读取到字符串变量中,以及执行类似的操作。请参见显式转换数据类型。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |