0
Statement st=(Statement) sqlcon.createStatement();
ResultSet p=st.executeQuery("SELECT * FROM `chat`.`online_users`");

ResultSetのオブジェクトを介してデータベースからデータを取得しましたが、ソケットを介してクライアントに送信すると、エラーが発生します。シリアル化できません。データを送信し、ResultSetを介して取得したデータをソケット間で受信するにはどうすればよいですか?

4

3 に答える 3

2

からデータを読み取り、ResultSetそれを押し込んでから、Listを送信しますListArrayListすでにSerializableインターフェースを実装しているようなすべての実装では、この回答を読んでリストのシリアル化について詳しく知ることができます。

于 2012-04-17T14:54:13.083 に答える
1

さて、ResultSetから継承し、新しいクラスにSerializableインターフェースを実装することができます。より良いアプローチは、レイヤー間でXMLを送信することです。または、すべてJavaソリューションが必要な場合は、各行にオブジェクトを作成し、それらをコレクションクラスまたはベクターに詰め込み、ResultSetクラスの代わりにシリアル化することをお勧めします。

于 2012-04-17T14:46:27.770 に答える
1

シリアル化可能であり、ネットワーク接続を介して送信する必要があるため、CachedRowSetを試すのに適したオプションのようです。

于 2012-04-17T15:13:24.247 に答える