java 获取sql_java.sql.SQLFeatureNotSupportedException:获取数组

本文介绍了一个使用Neo4j数据库查询特定日期内注册用户详情的方法,包括日期计算及用户ID获取等关键步骤。

*我正在研究Neo4j,我正在尝试获取在特定日期完成注册的所有用户的详细信息已经计算了日期和时间以及用户的ID,以帮助我获取该特定的详细信息仅限用户 . 但我在用ids获取用户的详细信息时面临问题..这是我的代码..

public Connection graphdbConnect() {

try {

Class.forName("org.neo4j.jdbc.Driver");

return DriverManager.getConnection("jdbc:neo4j://"+"192.168.1.*" + ":7474/", "neo4j", "****");

}

catch (Exception e) {

e.printStackTrace();

return null;

}

}

public ArrayList GettingCurrentDate() {

ArrayList dataFetechs=new ArrayList();

Date dateobj = new Date();

Calendar calobj = Calendar.getInstance();

long oneDayInMilli=86400000;

long currentTime= dateobj.getTime();

System.out.println("current time"+currentTime);

calobj.setTime(dateobj);

calobj.set(Calendar.HOUR, 0);

calobj.set(Calendar.MINUTE, 0);

calobj.set(Calendar.SECOND, 0);

calobj.set(Calendar.MILLISECOND, 0);

long currentDateInMilli=calobj.getTimeInMillis();

Connection connect = null;

String query=null;

long startTime = currentTime;

long endTime = currentDateInMilli;

try {

connect = graphdbConnect();

Statement stmt = connect.createStatement();

if (connect != null) {

for(int i=1;i<=7;i++)

{

DataFetech dataFetech=new DataFetech();

System.out.println(startTime+"----"+endTime);

try {

query="match(n:learner) "

+ " where "+endTime+"<=n.registrationtime<="+startTime+" "

+ " return count(n) as total,collect(n.name) as cname";

System.out.println(query);

ResultSet rs = stmt.executeQuery(query.toLowerCase());

while(rs.next()){

int total = rs.getInt("total");

System.out.println("shalini"+total);

//vartika jain

ArrayList userids= new ArrayList<>();

Array cname = rs.getArray("cname");

String[] userArray = (String[])cname.getArray();

for(String user: userArray) {

userids.add(user);

}

dataFetech.setIdslist(userids);

System.out.println(userids);

dataFetech.setTotal(total);

}

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

startTime = endTime;

endTime = currentDateInMilli-(oneDayInMilli*i);

Date date=new Date(startTime);

String dates=DateFormat.getDateInstance().format(date);

dataFetech.setDateinfo(dates);

System.out.println(dates);

dataFetechs.add(dataFetech);

// System.out.println("Milliseconds to Date: " + df.format(currentDate));

};

}

}

catch(Exception e) {

e.printStackTrace();

} finally {

if(connect!=null) {

try {

connect.close();

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

return dataFetechs;

//return ;

}

ERROR on line :- String[] tagsArray = (String[])rs.getArray("cname").getArray();

java.sql.SQLFeatureNotSupportedException:在com.dbconnect.server的org.neo4j.jdbc.AbstractResultSet.getArray(AbstractResultSet.java:807)的org.neo4j.jdbc.AbstractResultSet.getArray(AbstractResultSet.java:837)中获取数组 . GreetingServiceImpl.GettingCurrentDate(GreetingServiceImpl.java:232)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java: 43)在com.google.gwt.user上的com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:587)的java.lang.reflect.Method.invoke(Method.java:483)位于com.google.gwt.user.rp.的传真服com.google.gwt.user.server.rpc.AbstractRemoteServ中的.RemoteServiceServlet.processPost(RemoteServiceServlet.java:373) iceServlet.doPost(AbstractRemoteServiceServlet.java:62)位于org.eclipse.jetty的javax.servlet.http.HttpServlet.service(HttpServlet.java:648)javax.servlet.http.HttpServlet.service(HttpServlet.java:729) .servlet.ServletHolder.handle(ServletHolder.java:812)org.eclipse.jetty.servle.ServletHandler.doHandle(ServletHandler.java:587)org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java) :143)位于org.eclipse.jetty的org.eclipse.jetty.sese.SecurityHandler.handle(SecurityHandler.java:577)的org.eclipse.jetty.send.SandionHandler.doHandle(SessionHandler.java:223) . org.eclipse.jetty上的org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)中的server.handler.ContextHandler.doHandle(ContextHandler.java:1127)(SessionHandler . java:185)atg.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061)org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)at org位于org.eclipse.jetty.server.handler的org.eclipse.jetty.server.handler.RequestLogHandler.handle(RequestLogHandler.java:95)的.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97) .HandlerWrapper.handle(HandlerWrapper.java:97)位于org.eclipse.jetty.server.Server.handle(Server.java:499)org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311)at at Org.eclipse.jetty.Herp.ection.onFillable(HttpConnection.java:257)位于org.eclipse.jetty.util.thread.QueuedThreadPool的org.eclipse.jetty.io.AbstractConnection $ 2.run(AbstractConnection.java:544) .runJob(QueuedThreadPool.java:635)at org.eclipse.jetty.util.thread.QueuedThreadPool $ 3.run(QueuedThreadPool.java:555)at java.lang.Thread.run(Thread.java:744)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值