高难度的问题!恭请Herry,思归,和海波三位大侠及其他星级高手入内!中间层为Web Service的三层结构的水晶报表问题!有兴趣的也可以进来
我的结构分为三层
客户端:winForm窗体
中间层:Web Service
服务器:SQL SERVER
中间层写可一个LoadPriXiaoShouHeTong方法用来取数据:
LoadPriXiaoShouHeTong(ByVal HeTongHao As String, ByVal MaiFang As String, ByVal Ds As DataSet) As DataSet
Sql1="Select * from....."
Sql2="Select * from....."
Sql3="Select * from....."
.............
Adp.Fill(Ds, "tblXiaoShouHeTongZongBiao")
Adp2.Fill(Ds, "tblXiaoShouHeTongXiBiao")
Adp3.Fill(Ds, "tblWaiXiaoKeHu")
.....
return Ds '返回DS
客户端在预览报表时调用该方法:
Dim DsPrt As New DsPrt()'DsPrt是Rpt文件中用到的Dataset.xsd组件的名字
Dim CrtXiaoShou As New CrtXiaoShou() 'CrtXiaoShou是rpt报表文件名
DsPrt = SellContract.LoadPriXiaoShouHeTong(Trim(Frm.Text合同 号.Text), Trim(Frm.Text买方.Text), DsPrt)
系统报错:转换无效。当然是指从dataset类到DsPrt类的转换无效。
我跟踪显示:
在中间层,DS的确取到了数据。
然而在客户端却无法完成从dataset类到DsPrt类的转换。
是不是xsd组件不能基于SOAP协议利用XML传输啊?
如何才能把dataset中的数据填充到dataset.xsd数据集中?
注意:同样的方法我把LoadPriXiaoShouHeTong写在客户端Model里面就可 以!可是这就成两层了,呵呵!