我正在编写一个应用程序,我正在创建Web服务.我正在创建一个操作(方法),它从结果集中的数据库表中检索数据库表值.因此,我们无法直接在Web服务中返回结果集值.我正在创建一个包含结果集值的类.而不是结果集我返回新创建的类的对象[]如下:
public HistoryInfoByUser[] get_HistoryInfoByUser(@WebParam(name = "email_Id")
String email_Id) throws Exception{
HistoryInfoByUser[] historyIn = null;
if (conn != null) {
CallableStatement cst = conn.prepareCall("{call sp_xxxx(?)}",ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
cst.setString(1,email_Id);
ResultSet resultSet = cst.executeQuery();
int rowCount = resultSet.getRow();
historyIn = new HistoryInfoByUser[rowCount];
while (resultSet.next())
{
historyIn[rowCounter].setId(rowCounter);
historyIn[rowCounter].setStartTime((java.util.Date)resultSet.getObject(1));
historyIn[rowCounter].setType((String) resultSet.getObject(2));
rowCounter++;
}
}
return historyIn;
}
但是在尝试访问Web服务客户端中的那些值时,它给出了java.lang.NullPointerException.
这是我在Web服务客户端中用于访问结果集的代码
价值观:
public void get_HistoryInfoByUser(String email_Id)
{
service = new DBService();
port = service.getDBPort();
try {
List
我尝试通过返回新创建的类的对象(HistoryInfoByUser)而不是object [](HistoryInfoByUser [])来返回单行值.它对单个对象工作正常,但在使用object []时给出NullPointerException.我没有任何方式可以帮助我克服访问结果集值的问题.
我提前感谢您提出的所有有价值的建议,这些建议将帮助我克服这个问题.
最佳答案