私のコードは以下の通りです:
int [] keyCols = {1};
WebRowSet sender = new WebRowSetImpl();
sender.setUsername("root");
sender.setPassword("root");
sender.setUrl("jdbc:mysql://localhost:3306/jdbc");
sender.setCommand("select * from bank");
sender.setKeyColumns(keyCols);
int size1 = sender.size();
System.out.println(size1);
sender.execute();
FileWriter fw=new FileWriter("bank.xml");
sender.writeXml(fw);
fw.flush();
fw.close();
WebRowSet receiver = new WebRowSetImpl();
receiver.setUsername("root");
receiver.setPassword("root");
receiver.setUrl("jdbc:mysql://localhost:3306/jdbc");
FileReader fr=new FileReader("bank.xml");
receiver.readXml(fr);
int size2 = receiver.size();
System.out.println(size2);
if(size1 == size2)
{
System.out.print("WebRowSet serialized and ");
System.out.println("deserialized properly");
}
else
{
System.out.print("Error....serializing/");
System.out.println("deserializing the WebRowSet");
}
「Error....serializing/」「deserializing the WebRowSet」というエラー メッセージが表示されます
このエラー メッセージの理由は、サイズ 1 の値が 0 でサイズ 2 が 17 であることです。テーブル「銀行」の行数は 17 なので、サイズ 2 の値は理解できますが、サイズ 1 が「0」になるのはなぜですか。
もう 1 つの質問は、「bank.xml」という名前のファイルを作成していないのに、「そのようなファイルは存在しません」というエラーが表示されないのはなぜですか?