跟我们现在的系统是差不多的,只是我们用sqlserver2000
所有底层库方面都是我一个人做的,可以说现在用起来是很方便的.不用考虑底层的东东.
TClientDataSet:使用xml包装数据集以字符串方式在webservices中传递即可.
我为了省事,直接使用了DataSnap的XML格式,所以在客户端没有什么需要做的,
在服务器端做了几个类处理这个,到最终类时用起来很简单了
public static String getRsText(ResultSet resultSet, int startRow, int count) throws
Exception {
StringConvResultToXml scrt = new StringConvResultToXml();
//另外一个功能一样,叫DomConvResultToXml,不过效率不及这个高
return scrt.convExceute(resultSet, startRow, count);
}
一句话就可以将一个ResultSet转为DataSnap XML:
rsText = StringConvResultToXml.getRsText(rs,0,-1)
在客户端 ClientDataSet.XMLData = rsText;就行了
反过来也一样,可以传递ClientDataSet到java服务器端,我包装了成一个ClientDSObject类,提供了数据集同样的操作方式.
可以处理绝大多数字段类型,包括Image,uniqueidentifier,timestamp,text,identity等,这个关键是研究透DataSnap xml的格式,我中间就出了几次小问题,现在已经算得上完美了
在java服务器与客户端中间,最好只使用String,int,double等标准类型以及数组,只有这些才容易被soap处理.