java - 如何在java中将proj_id的值设置为max(proj_id) + 1

标签 java jsp servlets

我正在尝试获取 max(proj_id)+1 的值并在 vo 中设置该值,然后我将数据插入到数据库中。我正在以下代码中尝试此操作,但出现空指针异常....

public final class CreateProjDAO 
{
private static InitialContext context;
String CLASS_NAME="DBConnectionFactory";
public void  submitProjectDetails(CreateProjVO createprojVO) 
{
    String methodname="createConnection";
    Connection conn  = null;
    PreparedStatement psmt;
    ResultSet rs=null;
    Statement st=null;
    int proj_id;
    try {
        conn = DBConnection.getJNDIConnection();

        rs=st.executeQuery("select MAX(PROJ_ID) from CR_PROJECT_DETAILS");

        if(!rs.next())
        {   
            proj_id=rs.getInt(1)+1;
            System.out.println("Max:"+proj_id);
        }
        else
        {
            proj_id=1;
             System.out.println("Max:"+proj_id);
        }

         createprojVO.setId(rs.getString(proj_id));

        System.out.println("in DAO");

       psmt= conn.prepareStatement("insert into CR_PROJECT_DETAILS(PROJ_ID,PROJ_NAME,PROJ_COST,PROJ_MANAGER) values(?,?,?,?)");
            psmt.setString(1, createprojVO.getId());
            psmt.setString(2,createprojVO.getName());
            psmt.setString(3,createprojVO.getCost());
            psmt.setString(4,createprojVO.getManager());
            psmt.executeQuery();


        System.out.println("conn==="+conn); 
        conn.close();
         System.out.println("Disconnected from database");

    } catch (Exception e) {
        e.printStackTrace(System.err);
        System.out.println("data already exist");
        System.out.println("error:"+e);

    } 

}
} 

最佳答案

rs=st.executeQuery("select MAX(PROJ_ID) from CR_PROJECT_DETAILS");

命中语句时st尚未初始化,因此发生NPE。

关于java - 如何在java中将proj_id的值设置为max(proj_id) + 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5728017/

相关文章:

Java双除正

jsp - 如何在文本区域中显示协议(protocol)文本?

java - 仅将 tomcat 7 配置为 servlet 容器

java - 如何右键单击/从 JLabel 复制图像

java - Netbeans:访问静态字段 - 替换为类引用

java - 如何修复jvm选项在gradle idea上将javafx 11导出到com.jfoenix?

html - 将 JSP 变量传递给 html 标记的属性的最佳做法是什么?

java - 检查 Thymeleaf 页面中的对象上是否存在特定字段

java - Liferay : How to call a Servlet from a JSP Page

Android - 使用 Tomcat (servlets) 进行 HTTP 推送