浅谈PB使用心得(一)(原创) - 中国WEB开发者网络 (http://www.webasp.net) -- 技术教程 (http://www.webasp.net/article/) --- 浅谈PB使用心得(一)(原创) (http://www.webasp.net/article/21/20804.htm) |
| -- 作者:未知 -- 发布日期: 2005-04-29 |
浅谈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:WEIYIN2001@MSN.COM 如有不当之处,敬盼您的指点。 |
| webasp.net |