数据库

本类阅读TOP10

·SQL语句导入导出大全
·SQL Server日期计算
·SQL语句导入导出大全
·SQL to Excel 的应用
·Oracle中password file的作用及说明
·MS SQLServer OLEDB分布式事务无法启动的一般解决方案
·sqlserver2000数据库置疑的解决方法
·一个比较实用的大数据量分页存储过程
·如何在正运行 SQL Server 7.0 的服务器之间传输登录和密码
·SQL中两台服务器间使用连接服务器

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
浅谈PB使用心得(一)(原创)

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

浅谈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]

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

 




相关文章

相关软件