利用PB动态创建数据窗口
来源:互联网 发布:timeline js 使用 编辑:程序博客网 时间:2024/05/22 09:40
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
在建立动态数据窗口之前,必须先得到数据窗口对象的语法,PB中为我们提供了SyntaxFromSQL( )函数,利用这个函数可以得到建立数据窗口的语法。SyntaxFromSQL()函数的基本格式如下:
事物对象.SyntaxFromSQL(数据来源字符串,显示类型字符串,错误字符串)
下面是建立一个数据窗口对象语法的范例∶
// 声明变量
string ls_sql, ls_present,ls_err, ls_syntax
// 定义数据窗口的数据来源
ls_sql = "select emp_id from employee"
//定义数据窗口显示字符串
ls_present = "style(type=tabular)"
// 得到建立数据窗口对象语法
// 如果错误发生,SyntaxFromSQL 返回一个空字符串
ls_errls_syntax = SQLCA.SyntaxFromSQL(ls_sql, ls_present , ls_err)
利用 SyntaxFromSQL( )所建立的数据窗口对象是在运行阶段才建立的对象,并不会自动保存在PB的对象数据库 Library 中。为了以后可以重复使用这个数据窗口对象,可以利用 LibraryImport( )函数保存数据窗口对象。
在利用 SyntaxFromSQL( )函数建立一个数据窗口语法后,必须将它与窗口上的数据窗口控件结合,这个数据窗口控件必须已经存在于窗口中 。要将数据窗口对象语法和一个已经存在的数据窗口控件结合,必须利用Create( )函数,下面是范例程序∶
// 声明变量string ls_syntax ,ls_err
ls_errdw_1.Create(ls_syntax, ls_err)
dw_1.SetTransobject(SQLCA)
dw_1.retrieve( )
在上面程序中,ls_syntax是运行SyntaxFromSQL( )函数后所返回的字符串。除此之外,也可以利用LibraryExport( )函数从PB对象数据库中得到已经存在于PBL中的数据窗口对象语法。因为Create( )函数会破坏先前数据窗口与事物对象的结合,所以必须利用SetransObject( )函数重新结合事物对象给新的数据窗口对象,最后再运行Retrieve( )函数,从数据库中读取数据。
最后,我们需要利用SQL 语句字符串,动态创建一个新的数据窗口对象到一个数据窗口控件当中。虽然,在运行阶段并不能直接在窗口上建立一个数据窗口控件,但却可以利用用户对象建立一个与窗口上一样的数据窗口控件,在运行阶段时再动态打开这个用户对象。下面是动态建立数据窗口控件的步骤∶
1. 在用户对象画板内,建立一个标准数据窗口的用户类。
2. 可以在这个控件中增加功能、程序、用户对象函数和用户自定义事件后,保存用户对象到对象数据库中。
3. 利用 OpenUserObject( )函数建立一个数据窗口用户对象的复件,一般格式如下∶OpenUserObject(用户对象变量,{x坐标值,y坐标值})。下面是在窗口上鼠标点击的坐标位置建立一个用户对象 u_dw的范例∶
OpenUserObject(u_dw, Pointerx( ),Pointery( ))
以上是建立一个动态数据窗口的基本步骤,感兴趣的读者不妨一试。
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
当利用PowerBuilder建立数据窗口时,用户通常不能自己选择数据来源和显示类型。如何让用户在应用程序中自己定义数据窗口的数据来源和显示类型呢?为了达到这个目的,我们必须在运行程序阶段根据用户自己的需求,动态地建立一个数据窗口。笔者将结合实际,详细介绍动态创建数据窗口的步骤。 在建立动态数据窗口之前,必须先得到数据窗口对象的语法,PB中为我们提供了SyntaxFromSQL( )函数,利用这个函数可以得到建立数据窗口的语法。SyntaxFromSQL()函数的基本格式如下:
事物对象.SyntaxFromSQL(数据来源字符串,显示类型字符串,错误字符串)
下面是建立一个数据窗口对象语法的范例∶
// 声明变量
string ls_sql, ls_present,ls_err, ls_syntax
// 定义数据窗口的数据来源
ls_sql = "select emp_id from employee"
//定义数据窗口显示字符串
ls_present = "style(type=tabular)"
// 得到建立数据窗口对象语法
// 如果错误发生,SyntaxFromSQL 返回一个空字符串
ls_errls_syntax = SQLCA.SyntaxFromSQL(ls_sql, ls_present , ls_err)
利用 SyntaxFromSQL( )所建立的数据窗口对象是在运行阶段才建立的对象,并不会自动保存在PB的对象数据库 Library 中。为了以后可以重复使用这个数据窗口对象,可以利用 LibraryImport( )函数保存数据窗口对象。
在利用 SyntaxFromSQL( )函数建立一个数据窗口语法后,必须将它与窗口上的数据窗口控件结合,这个数据窗口控件必须已经存在于窗口中 。要将数据窗口对象语法和一个已经存在的数据窗口控件结合,必须利用Create( )函数,下面是范例程序∶
// 声明变量string ls_syntax ,ls_err
ls_errdw_1.Create(ls_syntax, ls_err)
dw_1.SetTransobject(SQLCA)
dw_1.retrieve( )
在上面程序中,ls_syntax是运行SyntaxFromSQL( )函数后所返回的字符串。除此之外,也可以利用LibraryExport( )函数从PB对象数据库中得到已经存在于PBL中的数据窗口对象语法。因为Create( )函数会破坏先前数据窗口与事物对象的结合,所以必须利用SetransObject( )函数重新结合事物对象给新的数据窗口对象,最后再运行Retrieve( )函数,从数据库中读取数据。
最后,我们需要利用SQL 语句字符串,动态创建一个新的数据窗口对象到一个数据窗口控件当中。虽然,在运行阶段并不能直接在窗口上建立一个数据窗口控件,但却可以利用用户对象建立一个与窗口上一样的数据窗口控件,在运行阶段时再动态打开这个用户对象。下面是动态建立数据窗口控件的步骤∶
1. 在用户对象画板内,建立一个标准数据窗口的用户类。
2. 可以在这个控件中增加功能、程序、用户对象函数和用户自定义事件后,保存用户对象到对象数据库中。
3. 利用 OpenUserObject( )函数建立一个数据窗口用户对象的复件,一般格式如下∶OpenUserObject(用户对象变量,{x坐标值,y坐标值})。下面是在窗口上鼠标点击的坐标位置建立一个用户对象 u_dw的范例∶
OpenUserObject(u_dw, Pointerx( ),Pointery( ))
以上是建立一个动态数据窗口的基本步骤,感兴趣的读者不妨一试。
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
- 利用PB动态创建数据窗口
- 利用PB动态创建数据窗口
- 利用PB动态创建数据窗口
- PB 动态创建数据窗口
- 【PB】动态创建数据窗口
- PB 动态创建数据窗口
- PB动态创建数据窗口
- PB datawindows 动态创建数据窗口
- PB如何创建动态数据窗口
- PB datawindows 动态创建数据窗口
- PB如何创建动态数据窗口
- PB如何创建动态数据窗口
- PB datawindows 动态创建数据窗口
- PB如何创建动态数据窗口
- [PB] 动态数据窗口
- PB动态数据窗口
- 【PB】如何创建一个动态的数据窗口对象?
- 【PB】如何创建一个动态的数据窗口对象?
- 在.net中轻松掌握Windows窗体间的数据交互(一)
- 分布式PowerBuilder设计
- 在.net中轻松掌握Windows窗体间的数据交互(三)
- PB开发Sybase数据库应用技巧点滴
- PB7.0中实现Jaguar GTS组件开发
- 利用PB动态创建数据窗口
- PB的可执行文件所需的环境DLL
- asp+中文教程(二)---- Asp+ Web Forms
- PB编程经验谈
- 存储过程的分页!!
- 用PB编写WinSock TCP/IP应用程序
- com.joybase.DB.dll源代码(2)
- 用PB编写多线程应用程序
- 我的C#心得(序篇)