我的代码如下:
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");
}
我正在收到错误消息 “错误....序列化/” “反序列化WebRowSet”
此错误消息的原因是size1的值为0,size2为17.我的表“bank”中的行数是17,所以我理解size2的值,但为什么我得到“0”对于size1。
另一个问题是我没有创建任何名为“bank.xml”的文件,那么为什么我没有收到任何错误,说“不存在这样的文件”?
答案 0 :(得分:0)
您在之前拨打 当您致电int size1 = sender.size();
并致电sender.execute()
,这就是size1
等于零的原因。< / p>
FileWriter fw=new FileWriter("bank.xml");
时,如果该文件尚未存在,则会创建该文件。