gpt4 book ai didi

java - 如何修复 java.lang.NullPointerException

转载 作者:行者123 更新时间:2023-12-01 22:37:15 25 4
gpt4 key购买 nike

我的java代码将参数传递为系统当前日期时间和存储过程调用中时间前一小时。

Date d = new Date();
Date currentDate = new Date(System.currentTimeMillis() - 3600 * 1000);
clstmt.setDate("date", new java.sql.Date(currentDate.getTime()));
clstmt = con.prepareCall("exec vcs_gauge 'vs1_bag', 'd', 'date'");

当我运行相应的 JSP 页面时,会抛出 java.lang.NullPointerException

最佳答案

首先创建CallableStatement然后绑定(bind)值。这就是交换语句的顺序,例如

// clstmt.setDate("date", new java.sql.Date(currentDate.getTime())); 
clstmt = con.prepareCall("exec vcs_gauge 'vs1_bag', 'd', 'date'");
clstmt.setDate("date", new java.sql.Date(currentDate.getTime()));

您会收到 NullPointerException,因为 clstmtnull,直到您 prepareCall()

编辑

我认为你的语法应该是这样的

clstmt = con.prepareCall("{call vcs_gauge('vs1_bag', 'd', ?) }"); 
clstmt.setDate(1, new java.sql.Date(currentDate.getTime()));

编辑2

根据您的其他详细信息,

String sql = "exec vcs_gauge @gauge_name=?,@first_rec_time=?,@last_rec_time=?";
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
clstmt = con.prepareCall(sql);
clstmt.setString(1, "vs1_bag");
clstmt.setString(2, df.format(d));
clstmt.setString(3, df.format(currentDate));

关于java - 如何修复 java.lang.NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26708271/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com