1

我的代码如下:

    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 的值,但为什么我得到 size1 的“0”。

另一个问题是我没有创建任何名为“bank.xml”的文件,那么为什么我没有收到任何错误说“不存在这样的文件”?

4

1 回答 1

0

你在打电话int size1 = sender.size(); 之前打电话sender.execute(),所以这就是为什么size1等于零。

当您调用FileWriter fw=new FileWriter("bank.xml");时,如果该文件尚不存在,则会创建该文件。

于 2013-10-20T02:26:55.397 回答