浅谈PB使用心得(一)(原创)

类别:数据库 点击:0 评论:0 推荐:

浅谈PB使用心得(一)(原创)

作者:BALLOONMAN2002  2004年6月26日

本文拟结合POWERBUILDER语言,浅谈自己使用PB开发过程中的一些心得,这些算不上巧妙方法,重点侧重一些基础性知识和易忽视点归纳整理:

一、如何用好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语句

………

本文未完待续

………

如需要进一步资料,请联系QQ:27855043,MSN:[email protected]

如有不当之处,敬盼您的指点。

 

本文地址:http://com.8s8s.com/it/it19504.htm