2012-04-17 31 views
0
Statement st=(Statement) sqlcon.createStatement(); 
ResultSet p=st.executeQuery("SELECT * FROM `chat`.`online_users`"); 

我已经从数据库中通过ResultSet对象获取数据,但是当我通过套接字将它发送给客户端时,它提供了一个错误。它不可序列化。如何发送数据并接收通过ResultSet通过套接字检索的数据?如何通过结果集检索的套接字接收数据?

回答

2

ResultSet中读取数据,将其推入List,然后发送List。所有的实现如ArrayList已经实现了Serializable接口,您可以阅读this answer以了解更多关于列表序列化的信息。

1

那么,你可以从ResultSet继承并在一个新类中实现Serializable接口。 我建议一个更好的方法是在图层之间发送XML,或者如果你想要一个全Java解决方案,那么为每行创建一个对象,将它们填充到集合类或向量中,然后序列化它而不是ResultSet类。

1

由于它需要可序列化并通过网络连接发送,所以CachedRowSet似乎是您尝试的一个很好的选择。

相关问题