动态数据窗口
使用数据窗口画笔创建数据窗口对象、然后通过数据窗口控件的 DataObject 属性将两
者联系起来,这种方法虽然已经给开发人员带来了极大的方便性,但并不足以应付各种情
况。例如,在应用程序运行时才知道用户要访问哪个表、才知道用户需要什么样的数据。
这时,就应该考虑运用动态数据窗口了。
创建动态数据窗口的基本步骤要动态地创建一个数据窗口,需要完成下述步骤:
1. 设计窗口时在窗口上放置个数据窗口控件,该控件用于展示动态创建的数据窗口;
2. 构造一条 SELECT 语句;
3. 利用事务对象的对象函数 SyntaxFromSQL ()生成符合数据窗口对象语法的字符串;
4. 使用数据窗口控件的对象函数 Create ()创建数据窗口;
下面是个创建动态数据窗口的示例:
string error_syntaxfromSQL, error_createstring new_sql, new_syntax
new_sql = 'SELECT emp_data.emp_id, ' &+ 'emp_data.emp_name ' &
+ 'from emp_data ' &
+ 'WHERE emp_data.emp_salary>45000' //SELECT 语句
//生成 SELECT 语句对应的自由风格的数据窗口语法
new_syntax = SQLCA.SyntaxFromSQL(new_sql, &
'Style(Type=Form)', error_syntaxfromSQL)
IF Len(error_syntaxfromSQL) > 0 THEN
//当 SyntaxFromSQL()函数执行有误时显示出错信息
mle_sfs.Text = error_syntaxfromSQL
ELSE
// 生成新的数据窗口
dw_new.Create(new_syntax, error_create)
IF Len(error_create) > 0 THEN
//创建数据窗口出错时显示错误
mle_create.Text = error_create
END IF
END IF
dw_new.SetTransObject(SQLCA) //联系数据窗口控件和事务对象
dw_new.Retrieve() //检索数据
SyntaxFromSQL ()函数
SyntaxFromSQL ()函数根据指定的 SQL SELECT 语句、按照指定的数据窗口风格(例如自
由风格、列表风格、表格风格、标签风格等)生成数据窗口的源代码,这个源代码实际上
就是个字符串。
SyntaxFromSQL ()函数的语法为:
transac8on.SyntaxFromSQL ( sqlselect, presenta8on, err )
其中:
transac8on:已经与数据库建立连接的事务对象名
sqlselect:字符串或字符串变量,其值是条有效的 SQL SELECT 语句
presenta8on:字符串或字符串变量,其值是应用程序希望使用的数据窗口风格
err:字符串变量,当 SyntaxFromSQL ()函数执行错误时,PowerBuilder 用该变量保存出
错信息。
评论0
最新资源