浅谈PB使用心得
来源:互联网 发布:使用美团数据分析 编辑:程序博客网 时间:2024/05/18 23:52
一、如何用好PB帮助
很多新学PB的朋友总是希望能够找到好的PB教程,其实我觉得PB自带的PB帮助就是最好的在线PB教程,它系统、全面的涵盖了PB从变量声明、语句编写、各类函数、各类对象、内置控件、DWO详解、数据接口到PFC深层应用的各个方面,不仅分类清晰,而且说明到位、用例典型。另外,本身的索引功能也非常详实,唯一不足的就是无法象MSDN一样可以全文检索。但这丝毫不会影响其作为最经典的PB教程的事实,我个人强烈建议新学PB的朋友能够从头开始好好了解一下PB帮助,:),本文中所描述的内容也只是将PB帮助中的一些零散知识整理起来,详细的资料可以进一步查阅相关帮助内容。
此外,PB自带的DWSyntax、Code Examples也是非常好的案头工具。
二、如何动态修改DATAWINDOW OBJECT的数据源
(一)通过GETSQLSELECT、SETSQLSELECT函数实现
dwcontrol.GetSQLSelect ( )
dwcontrol.SetSQLSelect ( statement )
说明:这种情况下要求新旧SELECT出来的结果列要求一致,并且SELECT语句不能有RETRIEVE ARGUMENTS。
(二)通过dw_control.Object.DataWindow.Table.Select属性实现
sqlvar = 'SELECT ... WHERE ...'
dw_1.Modify("DataWindow.Table.Select='" + sqlvar + "'")
说明:这种情况下可以使用RETRIEVE ARGUMENTS,但必须要求只能使用原来已定义的ARGUMENTS。
(三)通过CREATE函数重构DATAWINDOW来实现
dwcontrol.Create ( syntax {, errorbuffer } )
这其中的SYNTAX语法可以通过以下四种方式获取:
1、setting = dw_1.Object.DataWindow.Syntax
setting = dw_1.Describe("DataWindow.Syntax")
2、LibraryExport ( libraryname, objectname, objecttype )
3、transaction.SyntaxFromSQL ( sqlselect, presentation, err )
4、自己组合拼装SYNTAX,但这种要求开发者非常熟悉DWO对象语法
(四)通过SETFILTER函数过滤部分数据来实现
dwcontrol.SetFilter ( format )
这种方法其实是一种间接达到目的的方法。
(五)通过处理SQLPREVIEW事件来实现
这种方法也是一种间接达到目的的方法,它通过改变SQLPREVIEW事件中的sqlsyntax参数来实现修改数据源。
三、常见错误处理检测方法
(一)对于因SQL语句操作引起的错误,通常借助:SQLCA.SQLCODE或Indicator Variables来检测:
SQLCA.SQLCODE:
Value Meaning
0 Success
100 Fetched row not found
-1 Error; the statement failed. Use SQLErrText or SQLDBCode to obtain the detail.
Indicator Variables:
0 Valid, non-NULL value
-1 NULL value
-2 Conversion error
(二)对于其他系统错误,需要处理ERROR、DBERROR、ITEMERROR、SYSTEMERROR等事件,如果是PB9可以借助:TRY...CATCH...FINALLY...END TRY语句- 浅谈PB使用心得
- 浅谈PB使用心得(一)(原创)
- 浅谈PB中使用ole控件
- Pb的Yield()函数使用浅谈
- 浅谈ECharts3 柱形图使用心得
- Gridview分页初使用,心得浅谈
- 浅谈strtok函数的使用心得
- 浅谈strtok函数的使用心得
- 浅谈strtok函数的使用心得
- 心得浅谈
- 浅谈Log4j的使用方法-Log4j的使用心得。
- 浅谈企业管理心得
- 浅谈lorawan 调试心得
- PB 设计WEBSERVICE的一点心得.
- [PB]pb控件的使用样例
- PB的使用
- PB程序使用串口
- PB窗口使用技巧
- TCP状态变迁图
- 90. Subsets II
- SQLServer 存储过程
- TLD(Tracking-Learning-Detection)算法学习与源码解析(三)之 tld.cpp源码解析
- Linux kernel 性能优化(五)Linux虚拟内存优化
- 浅谈PB使用心得
- 两种实现线程的方法
- ShaderLab syntax: Blending
- 开张啦!
- ubuntu下安装mysql遇到的问题
- Ibatis调用oracle储存过程出现数据类型错误或参数个数错误
- 安卓错误E/AndroidRuntime(2726): java.lang.NullPointerException的问题解决
- MonoDevelop 实现中文支持
- 国内验证码广告