bigfrog 发表于 2017-2-21 21:44:56

PB9+ASA8.0 存储过程的编写和调用

好久没来了,主要是事情很多,而且也一直无所得,年前一段时间一直在研究存储过程,因为自己用的是ASA的数据库,而网上关于ASA的存储过程的教程少之又少,费尽周折,甚至用代理服务器翻墙出去看,都只找到零星的资料,也许是PB和ASA真的老了吧,用的人越来越少了,有些凄凉感。不过,换个思路想想,是不是你用PB做的东西,想盗窃的你人也越来越少呢?哈,就不废话了,进入我们的正题,希望已下的东西能给初学者一些帮助,也为这个冷门的软件带来一点热度吧
1.存储过程是什么,大道理我不讲了,我的理解就是将处理数据库的多条语句合并在一起,可以用PB来调用的东西,好处很多,瘦客户端啊,时效啊,以及程序抒写的简便等等。就不多说了,总之很有用就是了

2.哪里写ASA存储过程。
重点来了,ASA的存储过程到Sybase Central 里来编写的,ASA8自带的是 Sybase Central 4.11
首先连接数据库
https://www.sybasebbs.com/forum.php?mod=image&aid=757&size=300x300&key=0a403b2509b044cf&nocache=yes&type=fixnone
再点这里的Produce &Function 即可以在此编写存储过程

3.怎么写ASA存储过程
这是我写的第一个存储过程
https://www.sybasebbs.com/forum.php?mod=image&aid=758&size=300x300&key=ac8cdf61380ae141&nocache=yes&type=fixnone
学过SQL语言的人就忽略吧,比较简单,这一段存储过程的作用就是输入客户编号获得客户名字
按保存,如果提示没有错误,基本上是可以的,程序只会检查关键字的对错,但对于你的表内字段这些都是不会检查的,所以有时候会出线明明没错却无法运行的情况
https://www.sybasebbs.com/forum.php?mod=image&aid=759&size=300x300&key=0fd2ddaa856e349c&nocache=yes&type=fixnone

输出的参数有in和out 种类,目前只说基础,先不展开
到目前位置 ASA内部的存储过程编写和测试算是成功了。接下来说PB

4.PB调用存储过程的方式
这里我要说一下,很多书以及网上都没提及到,对于存储过程的调用其实是有两种的,一种是创建DW窗口的时候选择Stored Proceduce方式来新建数据窗口。还有一种是直接在代码里写程序来调用,两种方式均可实现调用

5.怎么调用存储过程
第一种。新建DW窗口选择Stored Proceduce调用
在PB里--file菜单---选择NEW,在弹出的窗口里选择datawindow子菜单 随便选一种DW数据方式然后在数据来源里选择Stored Proceduce即可
https://www.sybasebbs.com/forum.php?mod=image&aid=760&size=300x300&key=e2015ecb891fd2f4&nocache=yes&type=fixnone
接下来就可普通的DW一样了
这里还是选择上面的那段代码,调用c_result存储过程,要求输入客户编号显示客户名字、
建好了DW以后发现2个问题
1.每次要查看老是弹出要你输入变量
2.PB里面没办法查询这个DW的SQL代码
第一个先别着急,第二个是好事情,隐藏的越来越深了呲牙
新建一个窗口,将这个DW窗口拉到里面
按图建立按钮,并在按钮里写如图代码,即可调用此过程,是不是很简单?
https://www.sybasebbs.com/forum.php?mod=image&aid=761&size=300x300&key=85b073f2586f06fd&nocache=yes&type=fixnone




第二种,程序里调用存储过程
还是以此代码为例
https://www.sybasebbs.com/forum.php?mod=image&aid=762&size=300x300&key=e14522a1de39076a&nocache=yes&type=fixnone
存储过程的out变量其实我还是不懂,这里直接可以用Fetch出结果来,也就不用out了

怎么样,是不是很简单
大哭其实一点都不简单,我可花了2个多星期才搞清楚

希望能对大家有所帮助,也希望我这个能抛装引玉,出现更多好的教程






bigfrog 发表于 2017-2-21 21:47:46

奇怪,图片怎么都跑到下面去了
页: [1]
查看完整版本: PB9+ASA8.0 存储过程的编写和调用

免责声明:
本站所发布的一切破解补丁、注册机和注册信息及软件的解密分析文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:Admin@SybaseBbs.com