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能解決這些問題。
uj5u.com熱心網友回復:
C#+datawindow.net做報表那是沒得說,做出的WINDOWS輸入界面可直接列印成報表,大大提高了開發效率,這也來自于是Powerbuilder的長處。C#+datawindow.net的開發實體可去https://download.csdn.net/download/maguangzhi/10595010uj5u.com熱心網友回復:
多謝分享!
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/14795.html
標籤:DataWindow
上一篇:pb9.0 呼叫webservice 報錯 Unexpected wrapper element
下一篇:求救 pb程式無法運行
