Describe()
功能:返回数据窗口控件结构方面的指定信息,包括 DataWindow 对象以及数据窗口对象中其他对象的属性取值。数据窗口中的每个列、每个标题等等都是对象,各自都有一组描述其特征的属性。数据窗口对象的属性,在 Describe()函数的参数
中可以通过字符串指定要得到其值的一组属性,该函数将会把它们的值作为一个字符串返回。使用Describe()函数也可以计算表达式的值
语法:dwcontrol.Describe ( propertylist )
参数:dwcontrol 数据窗口控件名
propertylist 属性列表,是个字符串,由要查看其取值的一个或多个属性或表达式组成。属性以及表达式之间使用空格分隔,这里的属性指数据窗口对象的属性
返回值:String 该函数返回一个字符串,这个字符串由对应于 propertylist 中各属性的具体取值构成,各属性值之间使用换行字符 ~n分隔。如果属性列表中包含了无效的项 比如拼错了属性名或写错了表达式 那么Describe() 函数在相应项的位置返回一个惊叹号 ! ,并忽略随后的所有项 ; 当某个属性没有值时 Describe()函数在相应位置返回一个问号 ? , 如果某个属性的值是个问号 ? ,那么Describe()函数将在该项位置返回问号 并把问号放置到引号中,通常为单引号' 。如果任何参数的值为NULL, 则Describe()函数返回NULL
用法:使用 Describe()函数可以深入理解数据窗口的结构。例如:我们可以查到数据窗口都具备哪些区域,也有称做带Band 的叫法,各列的数据类型是什么等 。使用Describe()函数也能够得到数据窗口当前的属性取值之后,可以使用数据窗口控件Modify() 函数进行所需的修改
应用程序中经常使用 Describe()函数得到数据窗口当前的 SELECT 语句, 然后根据需要进行修改, 比如增加 WHERE 子句 修改排序方式等 , 当开发人员使用数据窗口画笔以图形化方式创建数据窗口对象,选择了操作数据库的数据源后,实际上就定义了某个 SELECT 语句 ,在保存数据窗口对象时 PowerBuilder 数据窗口控件的属性保存的不是标准的 SQL SELECT 语句 ,而是以它自己定义格式的 SELECT 语句,称做PBSELECT语句 ,与数据窗口对象保存在一起。 当应用程序使用 Describe() 函数得到Table.Select 属性的值时,如果应用程序已经连接到数据库上,那么Describe()函数返回SQL SELECT 语句,如果应用程序尚未连接到数据库上,那么Describe()函数返回 PBSELECT 语句 。