2012-04-17 5 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は試してみるとよい選択です。

関連する問題