Java SQL连接,选择查询

标签 java sql

我创建了这个方法,但是当我尝试调用该方法时,它返回一个空指针异常。谁能告诉我出了什么问题吗?请帮助我

public Talent SearchTalentQuery(int talentID){
    String SearchTalentString = "SELECT * FROM TALENT WHERE TALENTID = "+talentID+";";
    Talent talent=null;
    try{
        //error in select query
        if(getOracleXEConnection()!=null){

            Statement statement = conn.createStatement();
            ResultSet rs = statement.executeQuery(SearchTalentString);                       
                   while( rs.next()){
                   talent.setTalentName(rs.getString("talentname"));
                   talent.setTalentFocus(rs.getString("maintalentfocus"));
                   talent.setTalentNationality((rs.getString("nationality")));
                   talent.setTalentGroup(rs.getString("talentgroup"));
                   talent.setTalentHiredate(rs.getString("hiredate"));
                   talent.setTalentAge(Integer.parseInt(rs.getString("age")));
                   talent.setTalentID(Integer.parseInt(rs.getString("talentid")));
                   }

            rs.close();
            statement.close();
            conn.close();


            return talent;
        }
        else{
            return null;
        }
    }
    catch(SQLException | NumberFormatException e){
        e.printStackTrace();
    }
    return null;

最佳答案

您没有实例化要分配给的Talent对象。

Talent talent=null;
...
talent.setTalentName(...

为了解决您的评论,您初始化对空指针的talent引用。您需要实例化一个对象并指向它才能调用它的方法。

根据您的约束等,您的方法可能希望返回此 Talent 对象,或者通过每次迭代创建一个新对象并返回这些对象的集合。

关于Java SQL连接,选择查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12708677/

相关文章:

java - MapReduce任务立即从0%跳到100%,没有输出

php - php函数中sql查询中的假值仅在引号中有效

php - SQL - 改进 JOIN 查询(​​需要很长时间才能加载)

sql - 选择具有条件的行之一

java - 读取int数组并检查它是否已排序

java - ScrollView 中的 ListView 我的 ScrollView 移动到 ListView 的顶部。我该如何防止这种情况?

java - android 动画自行旋转图像

Java:强制实现接口(interface)以扩展抽象类

mysql - IF ELSE 语句在 MySQL 中产生无效语法

sql - 从 sp_whoisactive 返回的值的单位是什么