我正在尝试创建一个分布式系统,其中GUI将驻留在职员的PC上,而.mdb
将驻留在将充当服务器的另一台PC上。
我想知道如何从客户端向服务器发送查询并检索ResultSet
并使用Socket在客户端GUI上填充JTable
我最初想过使用GSON
将数据从客户端发送到服务器和反面,但不知道如何以及它是否是正确的方法?
答案 0 :(得分:3)
您无法使用ResultSet
通过网络发送Socket
对象,因为ResultSet
未实现Serializable
。如果您想使用从JTable
获得的结果填充ResultSet
,您应首先从中检索结果并存储在ArrayList
或任何其他适合您的Collection
中然后通过Collection
将Socket
跨网络的对象发送到另一端。
答案 1 :(得分:2)
基本上你可以用CachedRowSet
来做虽然我推荐了一层抽象
答案 2 :(得分:0)
首先,您不需要发送查询只需发送一个与特定查询相对应的数字或标志,例如当用户点击GUI进行显示时,将#1发送到服务器以显示插入#2,依此类推。 。 从服务器获取Resultset非常棘手。
我面临着同样的情况,我需要从数据库读取并将Resultset发送到客户端,但是要通过网络发送对象,您需要ObjectOutputStream,只有当您发送的对象属于实现Serialiazble的类但在您的case Resultset不实现Serializable,因此解决方案是
创建一个用户定义的类并在其上实现serializable然后将Resultset内容读入此类的对象,并通过Stream发送此数据,您可以发送这样的数据,我尝试过它并且它对我有用。