在datawindow中使用C#开发的WebService问题?[img=https://forum.csdn.net/PointForum/ui/script

maguangzhi 2018-08-22 05:20:50
datawindow通常需要若干行表数据,而C#提供的DataSet(或DataTable)可存储多行数据。但是,如果用C#写一个WebService返回DataSet或DataTable,datawindow将无法识别或接受该WebService,也就是说datawindow和DataSet之间存在互操作性障碍。虽然通过"外部数据源”做中间人可以解决该问题,即采用路径WebService返回DataSet-->外部数据源-->DataWindow,开发起来毕竟有些麻烦。我试图解决互操作性问题:即让用C#写的WebService返回PB定义的结构类型的数组,但需要知道PB使用了什么名字空间的数据类型以及相应的dll,这方面的资料很少(C#调用PB程序https://archive.sap.com/discussions/thread/3391198,或反之https://stackoverflow.com/questions/34306591/use-c-sharp-created-dll-in-powerbuilder-12-5-2)。
datawindow使用PB开发的WebService 毫无问题。后来,我干脆放弃了datawindow使用C#开发WebService返回DataSet作为数据源的想法,尽管这看起来非常诱人(提高开发效率),因为我看到这篇文章https://www.hanselman.com/blog/ReturningDataSetsFromWebServicesIsTheSpawnOfSatanAndRepresentsAllThatIsTrulyEvilInTheWorld.aspx,这篇文章大意是说C#的WEBSERVICE返回DataSet的做法就像是恶魔,因为DataSet的数据可以解释为任何类型,所以DataSet等价于一个可变的类。
无论如何,还是希望PB2018-2019-2020能解决这些问题。
...全文
354 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjl8008 2018-10-31
  • 打赏
  • 举报
回复
多谢分享!
maguangzhi 2018-10-21
  • 打赏
  • 举报
回复
C#+datawindow.net做报表那是没得说,做出的WINDOWS输入界面可直接打印成报表,大大提高了开发效率,这也来自于是Powerbuilder的长处。C#+datawindow.net的开发实例可去https://download.csdn.net/download/maguangzhi/10595010
1 查找对象所在库 2 根据备注查找对象 3 查找指定时间内修改过的对象 可内嵌入pb工具栏,可向pb发送消息打开指定对象 打开对象功能目前只支持70以上版本。 内嵌打开时可根据当前pb版本,查找最进一次打开的工程,并显示该工程的所有对象(支持70以上版本)。 图1 http://album.hi.csdn.net/app_uploads/liubocy/20081215/031936281.p.gif?d=20081215032033250 图2 http://album.hi.csdn.net/app_uploads/liubocy/20081215/031955062.p.gif?d=20081215032107375 图3 http://album.hi.csdn.net/app_uploads/liubocy/20081215/032010031.p.gif?d=20081215032125453 打开对象的功能是通过设置pb工具栏的Command Line语句,再向pb发送消息点击工具栏。 Command Line最多支持128个字节,所以尽量把pbl放在文件夹层级少的地方。 如果生成的语句大于128字节(没超出,发pbl+对象名的指令;如果超出,只发对象名的指令), 那么如果存在同名对象,就始终只能打开其一个了。 pb6.X版本估计是不支持Command Line语句。有兴趣的朋友可以测试下 //打开app Application:///D|/PbObjFind/pbobjfind.pbl&action=open&entry=pbobjfind //打开dw DataWindow:///D|/PbObjFind/pbobjfind.pbl&action=open&entry=d_recentpbw //打开文文件夹pbl里的窗口 Window:///D|/Work/%b2%e2%ca%d4%bc%bc%ca%f5/%bc%b4%b4%f2%bc%b4%cd%a3/demo.pbl&action=open&entry=w_demo 图4 http://album.hi.csdn.net/app_uploads/liubocy/20081215/034733546.p.gif?d=20081215034744812

608

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder DataWindow
社区管理员
  • DataWindow社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧