请教一个关于PB在WEB上开发的问题

我现在想将一个用DATAWINDOW做的报表数据窗,编译成DLL控件或OCX控件,然后在WEB中调用这个空间,该怎么做;或者还有其他的方法可以完成这个任务呢?
[79 byte] By [liunh-阿毛] at [2008-6-5]
# 1
see
see
see
!!
xuefl66-xuefl66 at 2007-10-20 > top of Msdn China Tech,PowerBuilder,PbWeb应用...
# 2
在网页上用WEB DATAWINDOW
# 3
pb8中,网页编辑画板下选择activex control->controls->
Sybase Web DataWindow DTC插入到网页中

即利用activex将数据窗口插入到网页中,通过jdbc连接到数据库

具体可看pb8的online book
# 4
错了,是
Sybase DataWindow Web Control
# 5
错了,是
Sybase DataWindow Web Control
# 6
首先:搭建com+环境

打开组件服务:在控制面板>>管理工具>>组件服务
增加com+服务
点击com+ 应用程序 右键选择增加应用程序
创建一下空的应用程序
新建一个组件

选择安装新组件,将pb的pbdwr80.dll,pbdwe80.dll,pbodbc80.dll,pbodbc80.ini,libjcc.dll,pbvm80.dll复制

到一个准备放web datawindow程序的位置如c:\inetpub\wwwroot\webapplication
选择该目录的pbdwr80.dll注册完成

配置系统path在我的电脑环境变量中

将所在前面所放文件路径c:\inetpub\wwwroot\webapplication加入到path中,(以后所有pbl或PBD均放到该目

录)注销或重新启动即可.

然后:用asp+iis进行开发
示例代码!
aa.asp
<%@ LANGUAGE = Jscript %>
<html>
<head>
</head>
<body>
<!-- #include file="initial.js" -->
<%
//自编函数,取得操作方式:(insert,delete等)
var actiontest = GetParam("dw_1_action","");
var dw_1_context = GetParam("dw_1_context","");

%>
<%
//创建数据窗口网页
var dw_1 = Server.CreateObject("PowerBuilder.HTMLDataWindow.1.0");
//设置pbl和对应要操作的数据窗口
var retVal = dw_1.SetDWObject('dd_jxgl.pbl', 'd_dd_zjxjh');
//检测返回是否成功
if (retVal != 1)
Response.Write("SetDWObject failed " + retVal );
dw_1.sethtmlobjectname("dw_1");
var browser = Request.ServerVariables("HTTP_USER_AGENT");
//可以显示在不同的浏览器里
dw_1.SetBrowser(browser);
//得到数据连接字符窜
var connStr =psDocument.getConnStr()
retVal = dw_1.settrans("ODBC",connStr, "","","","","") ;
//检索数据窗口
retVal = dw_1.retrieve(); // Retrieve with no parms. //
if (retVal < 0 )
Response.Write("Retrieve failed " + retVal )
else
{
if (actiontest !="")
{
retVal=dw_1.setAction(actiontest,dw_1_context)
//下面大家都能看懂了巴
if (actiontest =='InsertRow'||actiontest =='AppendRow'){
dw_1.SetItemString(retVal,'zt','1');
//dw_1.SetItemString(retVal,'week','20020911');
dw_1.SetItemString(retVal,'Jhlx','W');
}
if (actiontest=='Update') {
dw_1.UpdateEx(true,true);
}
}
dw_1.SetSelfLink('dd_jxjhlb.asp','');
Response.Write(dw_1.generate() );
//Response.Write(actiontest);
//Response.Write(dw_1_context);
}
//Displays DataWindow
%>
<SCRIPT LANGUAGE="JavaScript">
//function dw_1_ButtonClicked(row,buttonName)
//{
//if (buttonName='Send'){
//alert(row);
//alert(buttonName)
//evtResult = _evtDefault(dw_1.UpdateStart ());
//dw_1.restoreFocus();}
//}

function dw_1_RowFocusChanged(NewRow)
{
Row=NewRow - 1
if (dw_1.rows[Row][1] != null)
{
var jh_week=(dw_1.rows[Row][1]);
var jh_bzr=(dw_1.rows[Row][3]);
var jh_bzsj=(dw_1.rows[Row][4]);
var ls_url='dd_jxjhnr.asp?jh_week='+ jh_week+'&jh_bzr='+jh_bzr +'&jh_bzsj='+jh_bzsj;
parent.frDetail.location=ls_url
}
}
</SCRIPT>
</body>
</html>
//如果还不清楚可以互相交流,我还有一些资料,需要的话,发消息或e_mail fuhualgd@163.net
fuhualgd-北方人 at 2007-10-20 > top of Msdn China Tech,PowerBuilder,PbWeb应用...
# 7
用PowerSite中的HTML DataWindow DTC不就OK,然后再提交到PowerDynamo即可
tiggerliu-TiggerLiu at 2007-10-20 > top of Msdn China Tech,PowerBuilder,PbWeb应用...